2015-06-29 126 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); 
} 
相关问题