В настоящее время у меня есть скрипт, который пеет в течение 30 секунд. По сути, я ищу, чтобы создать временную папку для просмотра, которая запускает команду, когда файл существует. Когда я запускаю этот PHP, он не обнаруживает файл, когда я успешно меняю имя файла (через FTP) video_renders/something.mp4
на video_renders/video.mp4
в течение 30 секунд, когда скрипт запущен.
Здесь мой PHP:
<?php
$endtime = time() + 30;
while (time() < $endtime ) {
$filename = "video_renders/video.mp4";
if (file_exists($filename)) {
//do something
echo "Success";
}
}
?>
Здесь что-то не хватает? Почему мои /video_renders
файлы сценариев PHP, которые добавляются в /video_renders
?
Спасибо!
Это будет лучшим подходом:
while( !file_exists($pathToFile) )
{
sleep(1);
}
Это заставит ваш скрипт спать каждую секунду, а затем проверить файл. Вы можете изменить его, чтобы он запускался только 30 раз.
clearstatcache()
, похоже, не справляется с задачей.
На самом деле PHP не кэширует информацию о несуществующих файлах.
Итак, если вы вызываете file_exists()
в файл, который не существует, он вернет FALSE
пока вы не создадите файл. Если вы создадите файл, он вернет TRUE
даже если вы удалите файл. Однако unlink()
автоматически очищает кеш.
if( file_exists( getcwd() . $filename ) ) { ....