Например, я хочу постоянно следить за каталогом за наличие файлов .xml
.Как постоянно просматривать каталог для наличия файлов с определенным расширением?
Как только файл .xml
находится в этом каталоге, программа должна начать обработку файла, например. чтение данных внутри файла, извлечение полезных данных и дальнейшие действия.
Решение Я пытался использовать:
Я попытался использовать бесконечна, а петля к непрерывно контролировать каталог, и используется glob()
для проверки наличия файлов с .xml
расширением. glob()
возвращает массив с путями всех найденных файлов.
Итак, в цикле бесконечного while я проверяю, не верен ли массив, возвращаемый glob()
, НЕ-ПУСТОЙ. Если да, то я читаю файл по каждому пути в массиве, возвращаемом glob()
, и делаю соответствующую обработку в файле.
Проблема заключается в том, что, когда я запускаю его, я получаю
Fatal error: Maximum execution time of 30 seconds exceeded in C:\xampp\htdocs\Alpha\index.php on line 9
Я считаю, что это происходит из-за бесконечный цикл While.
Вопросы:
Это мой способ решения моей проблемы хороший способ?
Что следует сделать для обхода вышеуказанной ошибки?
Вы можете использовать javascript 'Server Sent Events' clientside и бесконечный цикл на стороне сервера скриптов PHP. Клиент js подключается к скрипту PHP и получает любые сообщения «Event-Stream», выводимые PHP. Это будет выполняться только при инициировании соединения с клиентом, тогда как задание cron будет работать независимо. – RamRaider