2014-10-17 25 views
0

我想与日期降序diplay,并用grep文件进行排序只有腓grep的排序依照档案日期descinding以便与日期

define("SLASH", stristr($_SERVER[SERVER_SOFTWARE], "win") ? "\\" : "/"); 
    function php_grep($path){ 

     $fp = opendir($path); 
     while($f = readdir($fp)){ 
      if(preg_match("#^\.+$#", $f)) continue; // ignore symbolic links 
      $file_full_path = $path.SLASH.$f; 
      if($file_full_path) { 
       $ret .= "$file_full_path\n"; 
      } 
     } 
     return $ret; 
    } 
echo "<pre>"; 
print_r(php_grep("/home")); 
+0

你为什么重写php_grep方法?我不明白 – kitensei 2014-10-17 12:04:31

+0

它更快得到加载 – Rishi 2014-10-17 12:07:08

回答

0

你可以做这样的事情:

function php_grep($path){ 
    $ret = array(); 
    $dates = array(); 
    $fp = opendir($path); 
    while($f = readdir($fp)){ 
     if(preg_match("#^\.+$#", $f)) continue; // ignore symbolic links 
     $file_full_path = $path.DIRECTORY_SEPARATOR.$f; 
     if($file_full_path) { 
      $ret[] = $file_full_path; 
     } 
    } 

    array_multisort(array_map('filemtime', $ret), SORT_NUMERIC, SORT_DESC, $ret); 
    return $ret; 
} 
echo "<pre>"; 
php_grep("C:\Workspace"); 
+0

给定的脚本可以工作,但是,**假设C:\ Workspace包含文件夹abc并且它有文件abc.txt,**它没有显示在结果中输出是* * C:\ Workspace \ abc **我想要** C:\ Workspace \ abc \ abc.txt **简而言之,它应显示cotaining文件夹和子文件夹的所有文件。是否有可能这样做? – Rishi 2014-10-17 12:41:01

+0

检查[这篇文章](http://stackoverflow.com/questions/14304935/php-listing-all-directories-and-sub-directories-recursively-in-drop-down-menu)递归解决方案 – kitensei 2014-10-17 12:53:19

+0

谢谢,任何可以更新上面的代码以显示**的专家人士使用Grep Only的递归文件** – Rishi 2014-10-18 06:06:27