Update PHP test app - 2026-01-21 13:37:13

This commit is contained in:
K3s Admin
2026-01-21 13:37:13 +00:00
parent 33f803c82f
commit b93f156e19
14 changed files with 1026 additions and 0 deletions

60
php-test/watch.php Executable file
View File

@@ -0,0 +1,60 @@
#!/usr/bin/env php
<?php
/**
* PHP 文件监控脚本 - 用于开发环境热更新
* 监控 PHP 文件变化并自动触发浏览器刷新
*/
echo "🔥 PHP 热更新监控已启动...\n";
echo "监控目录: " . __DIR__ . "\n";
echo "按 Ctrl+C 停止监控\n\n";
$watchedFiles = [];
$extensions = ['php', 'html', 'css', 'js'];
function scanDirectory($dir, $extensions) {
$files = [];
$iterator = new RecursiveIteratorIterator(
new RecursiveDirectoryIterator($dir, RecursiveDirectoryIterator::SKIP_DOTS)
);
foreach ($iterator as $file) {
if ($file->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]);
}
}
}