2014-02-21 65 views
0

對於簡單的文件搜索..我使用glob()函數編寫代碼。那麼,它的工作很好,很完美。但glob()正在搜索目錄和子目錄中的文件..它應顯示一條類似於的行,掃描c:\ wamp \ www \ xyz這樣的目錄。顯示目前掃描的文件夾是什麼(我的需求)..我搜索stackoverflow和php.net的解決方案..但沒有用..我知道它的聲音怪異的不支持glob()現在..但尋求一些替代解決方案或建議從有經驗的人。 PLS一次審查我的代碼,如果它的已知建議我一個解決方案..顯示正在通過glob()掃描的文件夾php

  $dir='c:\wamp\www\apps'; 
     $strsear='add'; 
     function recursiveGlob($dir, $ext) 
     { 
      $globFiles = glob("$dir".DIRECTORY_SEPARATOR."*$strsear*.$ext"); 
      print_r($globFiles); 
      $globDirs = glob("$dir/*",GLOB_ONLYDIR); 
      foreach ($globDirs as $dir) { 
       recursiveGlob($dir, $ext); 
      } 
      foreach ($globFiles as $file=>$v) { 
       echo "$v"; echo "<br/>"; 
      } 
      } 
     recursiveGlob($dir, 'php'); 
+0

也許你可以用Ajax調用你的php腳本。在你的php腳本中,每當目錄改變時關閉輸出緩衝並刷新。然後用JavaScript,顯示返回的目錄。 – Michel

+0

@Michel感謝您的快速回復。我不知道輸出緩衝完全..但如果我們關閉輸出緩衝,然後ob_flush()不會正常工作?糾正我,如果我錯了.. – user3336709

+0

是的。您也可以在腳本開始處調用'ob_start()'並在改變目錄後調用'flush(); ob_flush();'它具有相同的效果。 (請注意,這在某些服務器上不起作用。) – Michel

回答

0

有一個小片段的地方,也許這是一個很好的例子

的index.html

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head> 
<script> 
var hsys; 
function call_ajax(){ 
    hsys=false; 
    if(window.XMLHttpRequest){ 
     hsys=new XMLHttpRequest(); 
     } 
    else if(window.ActiveXObject){ 
     try{hsys=new ActiveXObject('Msxml2.XMLHTTP');} 
     catch(e){try{hsys=new ActiveXObject('Microsoft.XMLHTTP');} 
     catch(e){}}} 
    if(!hsys){ajax_error(pag);return false;} 
    hsys.open('POST',"pag1.php",true); 
    hsys.onreadystatechange=resp_ht; 
    hsys.setRequestHeader('Content-type','text/html'); 
    hsys.send(); 
    } 

function resp_ht(){ 
    if(hsys.readyState==4){ 
     if(hsys.status==200){ 
     alert('FINISHED'); 
     return false; 
     } 
    } 
    var rs=hsys.responseText; 
    document.getElementById('test_ajax').innerHTML=rs; 
} 
</script> 
</head><body> 
<div id="test_ajax" style="border:1px solid black;padding: 10px;"><b>Nothing here at the moment</b></div><br> 

<div onclick="call_ajax()"><b>[START REQUEST]</b></div><br> 
</body> 
</html> 

而且pag1.php

<?php 
session_write_close(); 
while(ob_get_level()>0)ob_end_clean(); 
ob_start(); 
for($i=1;$i<15;++$i){ 

echo 'Hello, I am number '.$i."<br />\n"; 
ob_flush(); 
flush(); 
ob_clean(); 
sleep(1); 
} 

P.S.這是純javascript。 jQuery可能是有用的。