请问php如何实时监听目录有新文件变化?
网友回复
第一种不需要安装东西直接通过while循环对比目录下文件夹的md5值是否有变动,代码如下:
<?php class FileWatch { protected $all = array(); public function __construct($dir) { $this->watch($dir); } //子类中重写这个方法 public function run($file) { } protected function all_file($dir) { if (is_file($dir)) { $this->all[$dir] = md5_file($dir); return $this->all; } if (is_dir($dir)) { $open = opendir($dir); while (($file = readdir($open)) !== false) { if ($file != "." && $file != "..") { $f = $dir . "/" . $file; if (is_file($f)) { $this->all[$f] = md5_file($f); } elseif (is_dir($f)) { $this->all_file($f); } } } } return $this->all; } public function watch($dir) { $this->all = array(); $old = $this->all_file($dir); while (true) { sleep(2); $this->all = array(); $new = $this->all_file($dir); $re = array_diff($new, $old); $del = array_diff_key($old, $new); $re = array_merge($re, $del); if ($re) { $this->all = array(); $old = $this->all_file($dir); $file = array_keys($re); $this->run($file[0]); } } } }//endclass //使用方法 class mywatch extends FileWatch { public function run($file) { if(!empty($file)) { echo "new file or file has been changed with ".$file.PHP_EOL; } else { echo "no files has created and no files has been c...
点击查看剩余70%
阿里通义大模型哪些是支持多模态的api的ai模型?
js如何实现浏览器中离线语音唤醒语音聊天小助手?
浏览器中如何将WebM视频转成mp4视频?
parlant如何改成qwen 的apikey与baseurl?
如何写一个chrome插件实现截屏自动生成步骤图文教程转成pdf或网页?
python如何通过阿里云的api对域名进行解析和ecs主机服务器进行启动停止等操作?
Tesla Robotaxi可以让特斯拉车自动无人驾驶跑滴滴为车主赚钱,国内以后也会这样吗?
有没有可以监控安卓手机上的app打开后偷偷摸摸做了啥的监控软件?
webrtc进行p2p连接发送的文本音视频文件是否是加密的?
如何让一个可爱的三维动物通过three在浏览器中有表情动作的自然说话?