#!/usr/bin/env php isFile()) { $ext = strtolower($file->getExtension()); if (in_array($ext, $extensions)) { $files[$file->getPathname()] = $file->getMTime(); } } } return $files; } // 初始化文件列表 $watchedFiles = scanDirectory(__DIR__, $extensions); echo "正在监控 " . count($watchedFiles) . " 个文件...\n\n"; while (true) { sleep(1); $currentFiles = scanDirectory(__DIR__, $extensions); // 检查文件变化 foreach ($currentFiles as $file => $mtime) { if (!isset($watchedFiles[$file])) { echo "[" . date('H:i:s') . "] ✨ 新文件: " . basename($file) . "\n"; $watchedFiles[$file] = $mtime; } elseif ($watchedFiles[$file] !== $mtime) { echo "[" . date('H:i:s') . "] 🔄 文件已更新: " . basename($file) . "\n"; $watchedFiles[$file] = $mtime; } } // 检查删除的文件 foreach ($watchedFiles as $file => $mtime) { if (!isset($currentFiles[$file])) { echo "[" . date('H:i:s') . "] 🗑️ 文件已删除: " . basename($file) . "\n"; unset($watchedFiles[$file]); } } }