2009-08-16 77 views
2

我剛剛在Windows機器上運行了PHP-CLI,因此我可以使用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的聲明嗎? – 2009-08-16 23:40:36

回答

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 2009-08-18 05:41:45