2015-06-29 67 views
0

假設有一個名爲「abc」的目錄在最近添加到的目錄中獲取最新的15個文件php

此目錄包含文件數。在所有這些文件中,我只想在php中使用數組中最新的「X」或最新的15個文件(如果可能的話使用glob函數)。

每一個幫助將是非常可觀的。

+0

你甚至嘗試過什麼嗎? – Rizier123

+0

謝謝大家寶貴的時間和幫助。 但是,我自己試了一下,我也得到了答案,我只是將它作爲答案發布 – gehlotparesh

回答

0

//進行文件搜索

$ 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);

請改善我,如果我錯了

0

的一種方式做到這一點,它比水珠是使用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); 
} 
相關問題