2014-10-17 28 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