我怎麼能得到的只有文件名和包含到一個文件夾中的文件的最後修改日期(甚至是子文件夾)我怎麼能得到的只有最後修改日期
我想這種結果:
path/filename lastmodified_date
或
filename lastmodified_date
我怎麼能得到的只有文件名和包含到一個文件夾中的文件的最後修改日期(甚至是子文件夾)我怎麼能得到的只有最後修改日期
我想這種結果:
path/filename lastmodified_date
或
filename lastmodified_date
你需要使用的glob獲取列表文件()或SCANDIR()後,您需要使用filemtime取得最後修改日期()。
試試這個代碼
$files = scandir('./'); // Get list files current dir
$times = array_map('filemtime', $files); // Get last modified date each file
$result = array_combine($files, $times); // Set file names as array index and times as value
現在我們有文件名和最後修改日期的陣列。您可以通過使用foreach($result as $filename => $date)
$數據獲得數據將有unix時間日期。
find /p/a/t/h -type f -printf '%p %t\n'
會告訴你下面/p/a/t/h
每個文件的名稱和修改時間。爲了得到一個劃時代時間,而不是長期的形式,使用方法:
find /p/a/t/h -type f -printf '%p %[email protected]\n'
檢查文檔find
關於如何改變時間戳的格式說明。
我可以操作日期格式嗎?例如,我不希望hh:mm.ss,但只有hh:mm – rschirin 2013-02-24 19:33:56
是的。 RTFM。並不是所有的find都支持printf,但是那些提供格式字符串來操縱輸出。如果你的'find'沒有提供-printf,那麼使用'-exec'來調用'stat'來打印一個紀元時間並用perl過濾輸出以產生你想要的格式。 – 2013-02-25 05:19:42
用scandir()找到的每個文件我必須調用filemtime(),對不對? – rschirin 2013-02-22 20:01:06
是的,你是對的。 – Winston 2013-02-22 20:06:46
@rschirin我在我的答案中寫給你簡單的代碼 – Winston 2013-02-22 20:15:40