重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
php实现linux命令的方法:1、创建一个PHP示例文件;2、在第一行输入“#!/usr/bin/env php”;3、通过“if(2 != count($argv)){...}”等代码实现linux命令“tail -f”即可。
竹溪网站建设公司创新互联建站,竹溪网站设计制作,有大型网站制作公司丰富经验。已为竹溪成百上千提供企业网站建设服务。企业网站搭建\外贸营销网站建设要多少钱,请找那个售后服务好的竹溪做网站的公司定做!
本文操作环境:linux5.9.8系统,PHP7.1版,Dell G3电脑。
php怎么实现linux命令?
PHP实现linux命令tail -f
今天突然想到之前有人问过我的一个问题,如何通过PHP实现linux中的命令tail -f,这里就来分析实现下。
这个想一想也挺简单,通过一个循环检测文件,看文件的大小是否有变化,如果有变化,输出文件变化的部分,当然了这里面会有好多的细节,这里具体分析下。
如果初始文件太大或者改变内容太多这个时候一下输出好多内容可能看不清,因此我这里设置了一个阈值8192,当内容长度超过这个阈值的时候,只输出最后面的8192个字节,这样就不会出现大面积的刷新导致看不清的问题。
如何检测文件大小的变化这个问题是这个程序的核心,能不能成功,性能的好坏就靠这部分了。
我在这里的实现是下面这样:
代码实现这里第一行的#!/usr/bin/env php是告诉可执行文件,可执行文件php在系统PATH中查找,这样的好处就是移植性好。
2016-02-22 11:28:51改进
查了PHP官方手册,fseek函数这里可以改进改进,这个函数还接受第三个参数,表示偏移指针的类型,默认是SEEK_SET,从开始偏移,还可以设置为SEEK_CUR,表示从当前位置偏移,因此这里改为fseek($fp, $ignore_size, $ignore_size);
下面是结果推荐学习:《PHP视频教程》