filemtime()在Windows PHP-CLI中不起作用

时间:2009-08-16 23:26:57

标签: windows php filemtime

我刚刚在我的Windows机器上运行PHP-CLI,因此我可以使用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 个答案:

答案 0 :(得分: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