-
Apache环境下PHP利用HTTP缓存协议原理解析及应用分析
本文为大家讲解的是Apache环境下PHP利用HTTP缓存协议原理解析及应用分析,感兴趣的同学参考下 http协议里控制浏览器缓存的头有三个Cache-Control,Expires,Last-Modified 对于静态页面还有Etag。 一、先来看第一种情况:apache 静态页面 apache发送给客户端的静态页面一般包含Last-Modified和Etag,这两个标签的值来自静态文件的修改时间和inode...
PHP 2014-12-09 08:18:03 -
php之curl实现http与https请求的方法
本文是一个php下利用curl实现http与https请求的方法,分别讲述了PHP访问http网页与访问https网页的实例,以及相关的注意事项,需要的朋友可以参考下 通常来说,php的curl函数组可以帮助我们把机器伪装成人的行为来抓取网站,下面来分享两个例子,一个是访问http网页,一个访问https网页,一起来看一下。 每次要使用curl的时候,总要查一堆资料...
PHP 2014-12-09 06:33:06 -
基于HTTP长连接的"服务器推"技术的php 简易聊天室
关于HTTP长连接的“服务器推”技术原理可以查看IBM的这篇文章,我简单的做了个DEMO. 首先是首页,包含一个文本输入和一个显示聊天内容的iframe,还有一个隐藏iframe用来提交form表单: <?php //chat.php header('cache-control: private'); header('Content-Type: text/html; charset=utf-8'); ?> <html> <script type="text/javascript"> function submitChat(obj) { obj.submit(); document.getElementsByName('content')[0].value = ''; } </script> <iframe src="./chat_content.php" height=&...
PHP 2014-12-09 03:24:03 -
PHP 模拟$_PUT实现代码
PHP里有$_GET,$_POST,但是没有$_PUT,所以如果需要使用它的话,则你不得不自己模拟一下,本文就来为大家讲解了php下如何模拟$_PUT方法,感兴趣的同学参考下。 $_PUT = array(); if ('PUT' == $_SERVER['REQUEST_METHOD']) { parse_str(file_get_contents('php://input'), $_PUT); } 通过php://input得到的数据是raw data,所以需要用parse_str解析一下...
PHP 2014-12-08 21:36:15 -
php使用curl抓取https的内容的函数
本文是一个php结合curl实现的可以用来抓取https网页内容的函数代码,感兴趣的同学参考下。 直接用file_get_contents,会报错; $url = (https://xxx.com"); file_get_contents($url); 错误: Warning: file_get_contents(https://xxx.com) [function.file-get-contents]: failed to open stream: No such file or directory in D:wampwwwgrabber_clientindex.php on line 3 用curl的方式是可以的: $url = (https://xxx.com); $ch = curl_init(); curl_setopt($ch, CURLOPT_URL,$url); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($ch, CURLOPT_S...
PHP 2014-12-08 10:30:04 -
PHP array_push函数使用方法及性能测式
本文为大家讲解的是php中的array_push函数使用方法及性能问题,感兴趣的同学参考下。 想到PHP操作数组时候,给一个数组添加一个数组单元时候可以有两种方式 1. $arr = array(); $arr[] = ''; 2. $arr = array(); array_push($arr,''); 刚做一个100000次的循环插入,结果还是第一种要快一些!(循环插入数字,100000次,第一种0.04左右,第二种0.08秒左右)...
PHP 2014-12-08 07:42:02 -
php 获取mysql随机记录rand()造成CPU 100%的解决办法
本文为大家讲解的是php 使用rand()获取mysql随机记录造成CPU 100%的解决办法,感兴趣的同学参考下。 mysql数据库有10几万条数据,使用rand()提取随机10条记录,导致服务器cpu占用居高不下直至死机~ 百度查阅了一些资料,再结合自己的一些经验,采用以下解决办法: $idlist=''; for($i=1;$i<=20;$i++){ if($i==1){ $idlist=mt_rand(3,25216); } else{ $idlist=$idlist.','.mt_rand(3,25216); } } $query="select * from table where id in ($idlist) LIMIT 0,10"; 原理其实很简单,就是产生一组随机ID,然后检索这一组ID对应的记录,经过这样优化,页面打开速度明显快了很多,CPU占用率也小到几乎为0,呵呵~顺便用这个思路把sqlserver站点也优化了一下! 速度比较: 用rand()取10条随...
PHP 2014-12-07 17:18:10 -
php错误:The specified CGI application misbehaved by not returning a complete set of HTTP headers解决方法
本文为大家讲解的是php错误:The specified CGI application misbehaved by not returning a complete set of HTTP headers解决方法,感兴趣的同学参考下。 是错误报告: The specified CGI application misbehaved by not returning a complete set of HTTP headers 意思是:(http协议的CGI模式运行不正确) 因为perl脚本的第一句中不支持 -wT 参数,将所有的 -wT 替换成 -w 即可 即:将 #!/usr/bin/perl –wT 替换为:将 #!/usr/bin/perl –w 这是代表php是以CGI模试运行的 在php.ini找到 gi.force_redirect 把前面的分号去掉 把值改成0就行了...
PHP 2014-12-07 16:48:11 -
php下伪造http头(referer)破解防盗链的函数示例
本文是一个php实现的伪造http头(referer)破解防盗链的函数示例代码,感兴趣的同学参考下。 这篇文章主要用于图片,软件等突破防盗链的方法,希望需要的朋友有所帮助,但不推荐这样做,如果官方改版都是无法继续使用的...
PHP 2014-12-07 06:42:04 -
php判断Keep-Alive模式的HTTP请求的结束的实现代码
本文为大家讲解的是php判断Keep-Alive模式的HTTP请求的结束的实现代码,感兴趣的同学参考下。 在使用短连接方式时,每个HTTP请求对应一个TCP连接,请求完成后连接立即断开,服务器返回EOF...
PHP 2014-12-07 05:33:04 -
PHP-CGI进程CPU 100% 与 file_get_contents 函数的关系分析
本文为大家讲解的是PHP-CGI进程CPU 100% 与 file_get_contents 函数的关系分析,感兴趣的同学参考下。 有时候,运行 Nginx、PHP-CGI(php-fpm) Web服务的 Linux 服务器,突然系统负载上升,使用 top 命令查看,很多 php-cgi 进程 CPU 使用率接近100%...
PHP 2014-12-07 04:18:03 -
php错误:failed to open stream: HTTP request failed!的解决方法
本文为大家讲解的是php错误:failed to open stream: HTTP request failed!的解决方法,感兴趣的同学参考下。 当使用php5自带的file_get_contents方法来获取远程文件的时候,有时候会出现file_get_contents(): failed to open stream: HTTP request failed!这个警告信息...
PHP 2014-12-06 15:21:06