php 循环抓取网页内容( 如何使用php及时的输出当前结果到浏览器而不刷新 )

优采云 发布时间: 2021-11-23 23:07

  php 循环抓取网页内容(

如何使用php及时的输出当前结果到浏览器而不刷新

)

  php实时输出内容到浏览器

  当您正在处理一个耗时较长的流程,但又需要及时了解程序当前的处理状态时,您应该怎么做?下面分享一下如何在不刷新整个页面的情况下,使用php将当前结果及时输出到浏览器。

  应用场景:如安装数据库,实时显示每一步信息,如1.数据库创建成功...2.用户表创建成功...3.用户user1 插入成功...

  PHP中开启实时输出的方法是ob_implicit_flush(),但是大多数情况下是不行的,因为php.ini配置中的output_buffering输出缓冲大部分是开启的,zlib.output_compression也经常开启,除了 PHP 这个级别,Nginx 的缓冲设置 proxy_buffering,以及压缩 gzip 也大都开启了。针对一两页的需要,修改整个服务器的网站配置。恐怕没有人会做出这样的选择。

  这里有一个简单的方法推荐:

  案例一:实时输出shell脚本日志,将shell脚本的输出重定向到一个日志文件,然后实时输出

  set_time_limit(0);

ob_end_clean();

ob_implicit_flush();

header('X-Accel-Buffering: no'); // 关键是加了这一行。

while(exec("/home/web/a.sh >> /home/web/a.log 2>&1 &"){

$log = file_get_contents('/home/web/a.log'); //这里log你可以把每一行都存入数组,然后每次只echo新的行。

echo "最新一行";

}

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线