假設有一個名爲「abc」的目錄在最近添加到的目錄中獲取最新的15個文件php
此目錄包含文件數。在所有這些文件中,我只想在php中使用數組中最新的「X」或最新的15個文件(如果可能的話使用glob函數)。
每一個幫助將是非常可觀的。
假設有一個名爲「abc」的目錄在最近添加到的目錄中獲取最新的15個文件php
此目錄包含文件數。在所有這些文件中,我只想在php中使用數組中最新的「X」或最新的15個文件(如果可能的話使用glob函數)。
每一個幫助將是非常可觀的。
//進行文件搜索
$ DIR = 「/等/ PHP5/*」 目錄;
//獲得與在$文件
$文件=水珠指定了四個擴展名的文件($目錄,GLOB_BRACE。 「* {擴展名1,擴展名2,extension3,extension4}。」);
//將獲得$文件的文件名和文件時間
$文件= array_combine($文件,array_map( 「filemtime」,$文件));
//將根據數值文件進行排序,那就是 「文件時間」
arsort($文件);
//我們不要求時間了,所以將只得到文件名(這是作爲數組的鍵)
$文件= array_keys($文件);
$ starting_index = 0; $ limit = 15;
//將限制導致陣列按我們要求
$文件= array_slice($文件,$ STARTING_INDEX,$限制);
//將打印最終陣列
回聲「最新$限制文件如下:」 print_r($ files);
請改善我,如果我錯了
使用功能張貼在這裏:http://code.tutsplus.com/tutorials/quick-tip-loop-through-folders-with-phps-glob--net-11274
$dir = "/etc/php5/*";
// Open a known directory, and proceed to read its contents
foreach(glob($dir) as $file)
{
echo "filename: $file : filetype: " . filetype($file) . "<br />";
}
,並使用您的foreach循環內filetime()
功能爲IF
聲明:http://php.net/manual/en/function.filemtime.php
的一種方式做到這一點,它比水珠是使用RecursiveDirectoryIterator
$dir = new \RecursiveDirectoryIterator('path/to/folder', \FilesystemIterator::SKIP_DOTS);
$it = new \RecursiveIteratorIterator($dir, \RecursiveIteratorIterator::SELF_FIRST);
$it->setMaxDepth(99); // search for other folders and they child folders
$files = [];
foreach ($it as $file) {
if ($file->isFile()) {
var_dump($file);
}
}
或者如果你還想要它wi日水珠
$files = glob('folder/*.{jpg,png,gif}', GLOB_BRACE);
foreach($files as $file) {
var_dump($file);
}
你甚至嘗試過什麼嗎? – Rizier123
謝謝大家寶貴的時間和幫助。 但是,我自己試了一下,我也得到了答案,我只是將它作爲答案發布 – gehlotparesh