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

















请登录后发表评论
注册
社交帐号登录