PHP set_time_limit(0)长连接的实现分析

yipeiwu_com7年前PHP代码库
每个PHP脚本都限制了执行时间,所以我们需要通过 set_time_limit 来设置一个脚本的执行时间为无限长;然后使用 flush() 和 ob_flush() 来清除服务器缓冲区,随时输出脚本的返回值。

如下面这段脚本:
复制代码 代码如下:

<?php
header("Content-Type: text/plain");
set_time_limit(0);

$infoString = "Hello World" . "\n";
while( isset($infoString) )
{
echo $infoString;
flush();
ob_flush();
sleep(5);
}
?>

当我们执行后,每隔5秒钟,我们会得到一行 Hello World ,如果不按停止按钮,浏览器会不停的一行一行继续加载。

通过这一方法,我们可以完成很多功能,例如机器人爬虫、即时留言板等程序。

相关文章

PHP里的$_GET数组介绍

在开发过程中,GET和POST无处不在。$_GET 变量是一个数组,内容是由 HTTP GET 方法发送的变量名称和值。 $_GET 变量用于收集来自 method="get" 的表单中...

PHP版微信第三方实现一键登录及获取用户信息的方法

本文实例讲述了PHP版微信第三方实现一键登录及获取用户信息的方法。分享给大家供大家参考,具体如下: 注意,要使用微信在第三方网页登录是需要“服务号”才可以哦,所以必须到官方申请。 一开始...

PHP实现字符串翻转功能的方法【递归与循环算法】

PHP实现字符串翻转功能的方法【递归与循环算法】

本文实例讲述了PHP实现字符串翻转功能的方法。分享给大家供大家参考,具体如下: 提到实现字符串反转的方法,大家都会想到用循环。确实,循环是一个内存占用量小且实现简单的方式。但是还有一种方...

php array_map array_multisort 高效处理多维数组排序

对多维数组排序,通用的作法是1 获取利用排序的数据并且将其放入数组$arrSort. 其中键索引为要排序数组的索引,保证唯一性 2 利用排序函数sort等对$arrSort进行排序. 3...

Windows平台实现PHP连接SQL Server2008的方法

本文实例讲述了Windows平台实现PHP连接SQL Server2008的方法。分享给大家供大家参考,具体如下: 如果你需要和sql server通信需要到http://msdn.mi...