2

我刚刚在我的 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 中工作。我究竟做错了什么?

4

1 回答 1

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

于 2009-08-16T23:44:24.997 回答