重複の可能性:
ファイル作成時間
ディレクトリ内のすべてのファイルと、その作成日を配列で取得したいと思います。
関数を見ましたscandir
が、不要なディレクトリも返されます。filemtime($filename)
また、関数がファイルの作成日を返すことができることもわかりました。まとめることができません。
PHP > 5 の最近では、提供されているクラスをこの種のものに使用する必要があります。この特定のタスクでは、たとえば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";
}
}
これは、必要なファイルまたはディレクトリに関するすべての情報を提供できるSplFileInfo$fileInfo
のインスタンスです。
if ($handle = opendir('/path/to/files')) {
while (false !== ($file = readdir($handle))) {
echo filemtime($file)." ".$file;
}
closedir($handle);
}
scandirを使用して、メインディレクトリのすべてのファイルとサブディレクトリを取得します
次に、phpのis_file関数を使用します。
特定の拡張ファイルにアクセスしたい場合は、phpのglob関数を使用してください
次に例を示します。
PHPでscandirを使用して画像のみを取得するにはどうすればよいですか?
これがお役に立てば幸いです。