php如何获取原生请求体

php 常见问题及解决方法

 

(1)请求要素是json字符串,后台如何获取

//this is a common php library by huangwei ,
//date:2014-07-03
//see http://blog.sina.com.cn/s/blog_4657e98e0100dyxp.html
//see http://www.cnblogs.com/fullhouse/archive/2012/04/24/2468870.html
if(array_key_exists('HTTP_RAW_POST_DATA',$GLOBALS)){//判断是否有key-HTTP_RAW_POST_DATA
$raw_data=$GLOBALS['HTTP_RAW_POST_DATA'];//always_populate_raw_post_data = On
}
if (empty($raw_data)) {
	$raw_data=$_POST;
}
if (empty($raw_data)) {
 	//echo "raw_data is empty";
 	$raw_data=file_get_contents("php://input");
 }
if(empty($raw_data)) {
    $raw_data=$_GET;
}
if(empty($raw_data)) {
    $raw_data=$_POST;
}

 

(2)如何把接收到的json字符串转化为对象

$post_object = json_decode($raw_data);

(3)如何把json对象转化为数组

 //convert object to array
function object_to_array($obj){
    if(is_array($obj)){
        return $obj;
    }
	$_arr = is_object($obj)? get_object_vars($obj) :$obj;
	foreach ($_arr as $key => $val){
	$val=(is_array($val)) || is_object($val) ? object_to_array($val) :$val;
	$arr[$key] = $val;
	}

	return $arr;

}

(4)获取php服务器操作系统类型

/***
 * @return string : windows or linux
 */
function serverOS(){
    $os_name=strtolower(php_uname('s'));
    $os_pos=strpos($os_name,'linux');
    if($os_pos === false) {
        return "windows";
    }
    else {
        return "linux";
    }
}

应用:

$root_path_index;
//echo serverOS();
if(serverOS()=='linux'){
    $root_path_index=-9;
}else{
    $root_path_index=32;
}

$config['webroot']=substr(dirname(__FILE__), 0, $root_path_index);///var/www/html/exchange

(5)字符串a是否包含字符串b

function strexists($a, $b)
{
	return !(strpos($a, $b) === FALSE);
}

(6)递归创建文件夹

function mkdirs($dir)
{
	return is_dir($dir) or (mkdirs(dirname($dir)) and mkdir($dir, 0777));
}

php学习网站

http://www.w3school.com.cn/php

http://www.php.net/manual/zh/function.json-decode.php

http://www.cnblogs.com/bananaplan/p/Sublime-Text-3-Powerful.html

 

推荐php IDE:http://pan.baidu.com/s/1kTA81E3

时间: 2024-10-29 18:00:08

php如何获取原生请求体的相关文章

java web获取请求体内容

Java Web中如何获取请求体内容呢? 我们知道请求方式分为两种:Get,Post Java代码   /***       * Compatible with GET and POST       *        * @param request       * @return : <code>byte[]</code>       * @throws IOException       */       public static byte[] getRequestQuery

spring MVC 获取请求体

在spring  MVC中如何获取请求体呢? 在spring MVC中如何获取请求要素呢? 通过如下方法: Java代码   /**       * Compatible with GET and POST       *        * @param request       * @return : <code>String</code>       * @throws IOException       */       public static String getRe

详解Nginx的配置函数对于请求体的读取_nginx

nginx核心本身不会主动读取请求体,这个工作是交给请求处理阶段的模块来做,但是nginx核心提供了ngx_http_read_client_request_body()接口来读取请求体,另外还提供了一个丢弃请求体的接口-ngx_http_discard_request_body(),在请求执行的各个阶段中,任何一个阶段的模块如果对请求体感兴趣或者希望丢掉客户端发过来的请求体,可以分别调用这两个接口来完成.这两个接口是nginx核心提供的处理请求体的标准接口,如果希望配置文件中一些请求体相关的指

安卓 应用开发-安卓中如何获取http请求头?

问题描述 安卓中如何获取http请求头? 如题,最近在整免流.求大神解答如何用代码获取http请求头.............. 解决方案 HttpClient工具提供了设置和获取请求.响应头的方法的,详细参考:http://blog.csdn.net/z69183787/article/details/42966829 解决方案二: 例子: public void run() {7 //用HttpClient发送请求,分为五步8 HttpClient httpCient = new Defau

curl 获取 https 请求方法

今日在做一个项目,需要curl获取第三方的API,对方的API是https方式的. 之前使用curl能获取http请求,但今天获取https请求时,出现了以下的错误提示:证书验证失败. SSL certificate problem, verify that the CA cert is OK. Details: error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed 解决方法,在curl

php curl 获取https请求的2种方法

  php curl 获取https请求的2种方法         这篇文章主要介绍了php curl 获取https请求的2种方法,本文给出设定为不验证证书和host.设定一个正确的证书二种常用做法的代码实例,需要的朋友可以参考下 今天一个同事反映,使用curl发起https请求的时候报错:"SSL certificate problem, verify that the CA cert is OK. Details: error:14090086:SSL routines:SSL3_GET_

Firefox浏览器怎么安装插件获取Http请求详情?

Firefox浏览器怎么安装插件获取Http请求详情?我们通过浏览器访问Web应用,本质就是给提供Web服务的后台发送了一个Http请求,对于普通用户而言,这个请求是什么样子的并不重要,但对于Web应用的开发和测试团队而言,有时我们非常需要查看发送的请求都包含哪些信息? 1.下载并安装Firefox 浏览器,安装并打开浏览器. 2.搜索并安装插件 HttpFox 点击 "工具"-->"附加组件" , 在打开的窗口中,搜索 "httpfox"

php使用curl获取https请求的方法

 这篇文章主要介绍了php使用curl获取https请求的方法,涉及curl针对https请求的操作技巧,非常具有实用价值,需要的朋友可以参考下     本文实例讲述了php使用curl获取https请求的方法.分享给大家供大家参考.具体分析如下: 今日在做一个项目,需要curl获取第三方的API,对方的API是https方式的. 之前使用curl能获取http请求,但今天获取https请求时,出现了以下的错误提示:证书验证失败. SSL certificate problem, verify

interceptor-spring中使用Interceptor拦截器,如何在拦截器中获取页面请求后台的方法的结果集?

问题描述 spring中使用Interceptor拦截器,如何在拦截器中获取页面请求后台的方法的结果集? spring中使用Interceptor拦截器,如何在拦截器中获取页面请求后台的方法的结果集? 解决方案 你可以在拦截器内获取访问的URL,自行判断 解决方案二: 获取页面请求后台的方法的结果集 什么意思?