filemtime() не работает в Windows PHP-CLI
Я только что получил PHP-CLI, работающий на моей машине с Windows, чтобы я мог создавать сценарии с использованием PHP. Тем не менее, я пытаюсь написать сценарий для очистки папки загрузок Firefox файлов старше X дней, но мне не удается заставить работать функцию filemtime().
Вот функция, которую я написал:
function deleteOldFiles($dir, $days) {
$mydir = opendir($dir);
while(($file = readdir($mydir)) !== false) {
if($file != "." && $file != ".." && (filemtime($dir.$file) <= time() - ($days * 86400))) {
//unlink($dir.$file) or DIE("Failed to delete $dir$file<br />");
echo filemtime($dir.$file);
}
}
closedir($mydir);
}
И после запуска этого я получаю следующую ошибку для каждого файла:
Warning: filemtime(): stat failed for E:\My Documents\Downloadsphp-5.3.0-nts-Win32-VC9-x86.msi in E:\_scripts\cleanupDownloads\cleanupDownloads.php on line 10
Из проведенного мною исследования filemtime() должен работать в Windows. Что я делаю неправильно?
1 ответ
Warning: filemtime(): stat failed for E:\My Documents\Downloadsphp-5.3.0-nts-Win32-VC9-x86.msi in E:\_scripts\cleanupDownloads\cleanupDownloads.php on line 10
Вы пропускаете обратную косую черту \
между каталогом и именем файла. Не забудьте убежать от него в Windows (\\
) или просто используйте косую черту (/
) или PHP DIRECTORY_SEPARATOR
постоянная.
редактировать
И посмотрите на scandir (), glob () или DirectoryIterator.