`
阅读更多

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

0
1
分享到:
评论

相关推荐

    php下的原生ajax请求用法实例分析

    主要介绍了php下的原生ajax请求用法,结合实例形式分析了前台原生ajax请求与后台PHP响应相关操作技巧,需要的朋友可以参考下

    原生javascript的ajax请求及后台PHP响应操作示例

    主要介绍了原生javascript的ajax请求及后台PHP响应操作,结合示例形式分析了JavaScript前台ajax请求的原理、调用、后台PHP响应请求及cookie保存相关操作技巧,需要的朋友可以参考下

    原生php实现excel文件读写的方法分析

    本文实例分析了原生php实现excel文件读写的方法。...一般我们这种导数据的操作都是通过用户在网页页面上点击某个按钮触发相应js方法,然后请求php接口来实现的,所以主要有两种方法来完成这种需求。 方法

    PHP中文网线上培训班-PHP编程.zip

    目录网盘文件永久链接 ...第6章 mysql数据库管理 第7章 mysql数据库管理1 第8章 mysql数据库管理2 ...第19章 php原生实战 第20章 php原生实战1 第21章 php原生实战2 第22章 php正则表达式 第23章 请求第三方api接口

    Http:原生Http请求控件

    var request = Http . post ( "test.php" , { k1 : v1 , k2 : v2 } ) ; request . onData = function ( response ) { // Success !!! Do something } request . onError = function ( error ) { // Error !!! Do ...

    实例讲解使用原生JavaScript处理AJAX请求的方法

    它赋予了你从服务器获取数据后,更新页面某部分的权力,从而避免了刷新整个页面。另外,以此方式实现页面局部更新,不仅能有效地打造流畅的用户体验,而且减轻了服务器的负载。 下面是对一个基本的 Ajax 请求进行...

    84PHP开源框架 v1.1.0

    通过上面的语法,您能够使用84PHP中所有的功能:数据库、文件操作、图像处理、上传下载、发送请求、接收请求、Session管理(Token)、随机数生成,以及各种各样的可选模块。 Q:84PHP有安全措施吗?运行效率高吗? A...

    一对一视频社交原生交友双端APP系统源码带同城直播间视频聊天系统

    每位用户拥有单独的推广邀请码,可分享邀请码推广平台,获取平台佣金成。 自主研发的小视频智能推荐机制,付费小视频内容观看,可在小视频也发起一对一视频聊天。 小视频录制;可录制上传小视频内容,支持本地小...

    3mao-dream:此请求使用原始PHP使用支付宝当面付个人界面来奖励基于项目的支付宝面对面支付方式,原生PHP开发的变现乞讨项目https

    此请求使用原始PHP使用支付宝当面付个人接口,以奖励基于项目的支付宝面对面支付方式,原生PHP开发的变现乞讨项目 重点 有错误可以反馈,咨询我也会送上祝福和鼓励,但是使用前请多多百度,熟悉好代码才能更好的结合...

    CI框架Session.php源码分析

    CI的Session并不是原生的session,正是我前面所有的cookie based session,另外,CI可以根据用户选择配置是否将session存入数据库中,本人很喜欢这个功能,还有就是“闪出数据”的功能,既闪出数据只是对下次服务器...

    手机端快滑到底部时,自动加载ajax请求下一页

    //this返回 原生的ID=data_box的对象,$(this)就是jQuery的元素对象,也就是 $('#data_box') //取决于后台返回的类型做相应的处理 if(a.total == 0) { $(this).html('没有数据...</p>'); } else { var...

    校园快递代领系统(php)

    该系统前端基于frozenui开发,ajax请求使用原生javaScript开发,后端也使用原生的php。

    微信小程序实现Session功能及无法获取session问题的解决方法

    因为小程序原生不支持Cookie,因此也不支持Session。 网上找到的的一些方法有缺陷,而且很多累赘,估计没有实际测试过,在此直接给出实测可用的代码。 大概思路就是借助小程序本地储存+网络请求的header可读可写来...

    PHP与Web页面交互 -文件上传和下载.ppt

    用户选择文件,单击“上传文件” 按钮,触发HTTP请求,服务器端程序接收数据信息,响应客户端请求。如果文件成功上传,服务器端程序会将上传的文件保存到指定的目录中,同时将文件的路径存入到数据库中。 一、文件...

    framework:用 PHP 编写原生桌面应用程序的 EncorePHP 框架

    再来一次PHP EncorePHP 是一个用于 PHP 的桌面应用程序框架。... EncorePHP 仍在积极开发中,因此如果您有任何想法、建议、增强功能或错误修复,请随时在与您的问题相关的相应存储库上提交问题或拉取请求。

    原生JS与jQuery对AJAX的实现

    AJAX=AsynchronousJavaScriptandXML(异步的JavaScript和XML)。AJAX不是新的编程语言,而是一种使用现有标准的新方法。...并通过方法中回调函数的参数返回请求的数据,它的调用格式如下:$.get("demo_test.php?id=1&

    原生js调用json方法总结

    GET:用于获取数据,如浏览帖子 ajax.judgeXmlHttpRequest('get', 'index.php', function(data){ alert(data); //这是服务器返回的数据 }) POST:用于上传数据,如用户注册 var dataJson = { name: 'ys',age...

Global site tag (gtag.js) - Google Analytics