我想在一個目錄下的所有文件與創建日期的沿在陣列中。
我看到了scandir
函數,但它甚至返回我不想要的目錄。我也想通了filemtime($filename)
函數可以返回文件創建日期。只是不能把它放在一起。
我想在一個目錄下的所有文件與創建日期的沿在陣列中。
我看到了scandir
函數,但它甚至返回我不想要的目錄。我也想通了filemtime($filename)
函數可以返回文件創建日期。只是不能把它放在一起。
在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";
}
}
這裏$fileInfo
是SplFileInfo一個實例,可以給你一切你所能想一個文件或目錄的信息。
使用scandir讓所有的文件和主目錄下的子目錄
然後使用PHP is_file功能。
如果您想訪問特定的擴展文件,請使用PHP
這裏glob功能的例子:
How to get only images using scandir in PHP?
我希望這有助於。
if ($handle = opendir('/path/to/files')) {
while (false !== ($file = readdir($handle))) {
echo filemtime($file)." ".$file;
}
closedir($handle);
}
mtime是上次修改的 – Gordon
簡答:文件創建時間不存在。 – Gordon