博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
php如何获取原生请求体
阅读量:6277 次
发布时间:2019-06-22

本文共 1670 字,大约阅读时间需要 5 分钟。

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.htmlif(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 arrayfunction 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学习网站

 

推荐php IDE:

你可能感兴趣的文章
360项目-07
查看>>
使用Nginx进行TCP/UDP端口转发
查看>>
读书笔记2(Effective java)
查看>>
[bat]批量替换文件内容
查看>>
Java代码到字节码——第一部分
查看>>
Linux挂载安装VMware tool
查看>>
Android中利用ViewFliper实现屏幕切换效果
查看>>
群发quota报警邮件脚本
查看>>
C语言进阶【文件】常用文件操作函数详解(一)
查看>>
(四)基于Spring Cloud Fegin的跨服调用
查看>>
博为峰Java技术文章 ——JavaEE Hibernate实例状态
查看>>
RFC4291, IPv6 的单播地址到底是哪几种?
查看>>
Linux(centos)系统各个目录的作用详解 推荐
查看>>
zabbix监控进程与端口
查看>>
Libvirsh 问题:GLib-WARNING **: gmem.c:483: custom memory allocation vtable not supported
查看>>
COALESCE函数
查看>>
Ext.require callback 不执行
查看>>
面试题:连续子数组的最大和
查看>>
书生教你cocos2d-x-入门篇(一)
查看>>
Linux—yum环境的三种搭建方法
查看>>