2009-08-16 4 views
2

Я просто получил PHP-CLI, работающий на моей машине Windows, чтобы я мог создавать скрипты с помощью PHP. Тем не менее, я пытаюсь написать сценарий для очистки папки загрузки файлов Firefox старше X дней, но я не могу заставить функцию filemtime() работать.filemtime() не работает в Windows PHP-CLI

Вот функция, я писал:

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. Что я делаю не так?

+0

Не могли бы вы разместить декларацию $ dir, пожалуйста? –

ответ

3

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.

+0

Да, я идиот и поймал это позже ... спасибо, хотя! – PHLAK