PHP实现tail -f功能,可以使用流(stream)来实时获取文件更新内容。基本思路是:
1. 打开文件并定位到文件末尾
2. 进入循环,不断读取文件末尾数据
3. 判断文件更新,输出新读取的数据
4. 睡眠一秒后继续循环PHP代码实现如下:
$filename = '/path/to/file'; // 打开文件并定位到文件末尾 $file = fopen($filename, 'rb'); fseek($file, 0, SEEK_END); // 文件上次读取位置 $lastPos = ftell($file); while(true) { // 读取文件更新内容 fseek($file, $lastPos); $content = fread($file, 1024); // 判断有更新则输出 if(!empty($content)) { echo $content; $lastPos = ftell($file); } // 睡1秒 sleep(1); } fclose($file);
程序会持续监听该文件,有更新内容则输出,实现类似tail -f的功能。
运行此PHP脚本,会进入死循环不断检测文件更新并输出,可以通过Ctrl+C终止进程。
© 版权声明
本文刊载的所有内容,包括文字、图片、音频、视频、软件、程序、以及网页版式设计等部门来源于互联网,版权均归原作者所有!本网站提供的内容服务于个人学习、研究或欣赏,以及其他非商业性或非盈利性用途,但同时应遵守著作权法及其他相关法律的规定,不得侵犯本网站及相关权利人的合法权利。
联系信息:邮箱aoxolcom@163.com或见网站底部。
联系信息:邮箱aoxolcom@163.com或见网站底部。
THE END
请登录后发表评论
注册
社交帐号登录