下面是编程之家 jb51.cc 通过网络收集整理的代码片段。
编程之家小编现在分享给大家,也给大家做个参考。
PHP实现linux命令tail -f
如果初始文件太大或者改变内容太多
如何检测文件大小的变化
代码实现
#!/usr/bin/env PHP <?PHP if(2 != count($argv)){ fwrite( STDERR,"调用格式错误!使用格式 ./tail filename".PHP_EOL ); return 1; } $file_name = $argv[1]; define("MAX_SHOW",8192); $file_size = 0; $file_size_new = 0; $add_size = 0; $ignore_size = 0; $fp = fopen($file_name,"r"); while(1){ clearstatcache(); $file_size_new = filesize($file_name); $add_size = $file_size_new - $file_size; if($add_size > 0){ if($add_size > MAX_SHOW){ $ignore_size = $add_size - MAX_SHOW; $add_size = MAX_SHOW; fseek($fp,$file_size + $ignore_size); } fwrite( STDOUT,fread($fp,$add_size) ); $file_size = $file_size_new; } usleep(50000); } fclose($fp);
下面是结果
以上是编程之家(jb51.cc)为你收集整理的全部代码内容,希望文章能够帮你解决所遇到的程序开发问题。
如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。