首页 > Web开发 > 详细

php如何获取原生请求体

时间:2014-12-28 02:08:13      阅读:303      评论:0      收藏:0      [点我收藏+]

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

bubuko.com,布布扣?

php如何获取原生请求体

原文:http://hw1287789687.iteye.com/blog/2170543

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!