【问题标题】:Get all the files in directory with the created date in an array [duplicate]以数组中的创建日期获取目录中的所有文件[重复]
【发布时间】:2012-12-31 18:55:16
【问题描述】:

可能重复:
File creation time

我想获取目录中的所有文件及其在数组中的创建日期。

我看到了scandir 函数,但它甚至返回了我不想要的目录。我还发现filemtime($filename) 函数可以返回文件创建日期。只是无法把它放在一起。

【问题讨论】:

  • 简答:文件创建时间不存在。

标签: php file date directory


【解决方案1】:

使用scandir获取主目录下的所有文件和子目录

然后使用php的is_file函数。

如果你想访问特定的扩展文件,请使用 php 的glob 函数

这是一个例子:

How to get only images using scandir in PHP?

我希望这会有所帮助。

【讨论】:

    【解决方案2】:
    if ($handle = opendir('/path/to/files')) {
    
        while (false !== ($file = readdir($handle))) { 
            echo filemtime($file)."  ".$file;
         }
    
        closedir($handle); 
    }
    

    【讨论】:

      【解决方案3】:

      在 PHP > 5 的这些日子里,您应该使用 provided classes 来处理这种事情。对于这个特定任务,您应该使用 FilesystemIterator 例如:-

      $iterator = new FilesystemIterator('D:/dev/');
      foreach($iterator as $fileInfo){
          if($fileInfo->isFile()){
              $cTime = new DateTime();
              $cTime->setTimestamp($fileInfo->getCTime());
              echo $fileInfo->getFileName() . " file Created " . $cTime->format('Y-m-d h:i:s') .  "<br/>\n";
          }
          if($fileInfo->isDir()){
              $cTime = new DateTime();
              $cTime->setTimestamp($fileInfo->getMTime());
              echo $fileInfo->getFileName() . " dir Modified " . $cTime->format('Y-m-d h:i:s') . "<br/>\n";
          }
      }
      

      这里的$fileInfoSplFileInfo 的一个实例,它可以为您提供有关您可能想要的文件或目录的所有信息。

      【讨论】:

        猜你喜欢
        • 2020-06-30
        • 2023-03-23
        • 2014-01-27
        • 2013-06-16
        • 2020-08-29
        • 1970-01-01
        • 2015-11-04
        • 1970-01-01
        • 2013-04-07
        相关资源
        最近更新 更多