代码之家  ›  专栏  ›  技术社区  ›  PHLAK

filemtime()在Windows php-cli中不工作

  •  2
  • PHLAK  · 技术社区  · 16 年前

    我刚刚让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 回复  |  直到 16 年前
        1
  •  3
  •   Philippe Gerber    16 年前

    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

    你漏掉了一个反斜杠 \ 在目录和文件名之间。别忘了从窗户上逃跑( \\ )或者只用正斜杠( / 或PHP的 DIRECTORY_SEPARATOR 常数。

    编辑

    再看看 scandir() , glob() DirectoryIterator .

    推荐文章