0
我使用glob
函數搜索導演,並獲取匹配的文件列表。然後通過檢查filemtime
的文件創建地圖。然後根據文件日期對地圖進行排序。最後我得到最新的文件名和修改時間。我的代碼是這樣的。它適用於小目錄,但對於大目錄來說很慢。我想知道有沒有更快/更聰明的方法?在PHP中查找最新文件名和修改時間
$fileList = array();
// $id = is the argument of this function
$files = glob('myfolder'.DS.'someone'.$id.'*.txt');
if (empty($files)) {
return 0;
}
foreach ($files as $file) {
$fileList[filemtime($file)] = $file;
}
if (sizeof($files) > 1) {
ksort($fileList);
}
$latestFilename = end($fileList);
$fileLastModifDate = filemtime($latestFilename);
這個問題(http://stackoverflow.com/questions/124958/glob-sort按日期)給出了各種可能性(尤其是第一條評論中的鏈接,它有一些非常聰明的想法)。您可能需要對每個人進行基準測試,以確定哪個是最快的。 –
你只需要知道哪個文件是最後修改的?如果是這樣,建立一個清單並整理它不是必需的。 – cgTag
可能的重複:http://stackoverflow.com/questions/5448374/get-last-modified-file-in-a-dir – cgTag