2011-04-25 20 views
1

我:如何獲得一個PHP腳本打印/工作

function ListFiles($dir) { 

    if($dh = opendir($dir)) { 

     $files = Array(); 
     $inner_files = Array(); 

     while($file = readdir($dh)) { 
      if($file != "." && $file != ".." && $file[0] != '.') { 
       if(is_dir($dir . "/" . $file)) { 
        $inner_files = ListFiles($dir . "/" . $file); 
        if(is_array($inner_files)) $files = array_merge($files, 

$inner_files); 
       } else { 
        array_push($files, $dir . "/" . $file); 
       } 
      } 
     } 

     closedir($dh); 
     return $files; 
    } 
} 


foreach (ListFiles 

('www.fromtheabsenceofagirlfriendcomesthis.net/sounds/folder1') as $key=> 

$file){ 
    echo $file ."<br />"; 
} 

從的忙在網絡上,&當我測試它(我最終想要返回一個隨機文件名到A HREF - 這樣的提示歡迎)我得到空。 &我試着通過瀏覽器打開PHP文件,(空),&我試圖從「PHP」頁面調用它:

​​

但空。我的問題是什麼?

+0

您是否從fromtheabsenceofagirlfriendcomesthis.net域運行同一服務器上的腳本? – 2011-04-25 00:27:14

回答

0

您無法通過HTTP讀取/列出目錄。您需要使用不同的協議來通過Internet列出目錄:FTP,SSH等。您需要訪問遠程服務器才能執行此操作。如果您唯一可以使用的是HTTP,則需要檢索網頁(= HTML文檔)並自行解析。

+0

如果腳本是從與來自theabs ...域的服務器相同的服務器運行的,請使用相對/絕對路徑而不是URL。 – 2011-04-25 00:27:59

+0

hm,也許我會開始一個新的線程 - 我如何得到一個隨機文件(從目錄和子目錄)並將其返回給href? - 新線程? – lakitu 2011-04-25 00:32:34

+0

安德魯 - 我先試了一下。很高興知道它是如此,壽。 – lakitu 2011-04-25 00:36:52

0

嘗試重寫www。 - >不是www,如果你想在同一個域使用它。 Bua幾乎可以肯定,這是不好的做法,嘗試使用http://作爲目錄調用的glob() 使用目錄列表或glob()作爲...函數。

0

你要加載原始的HTML輸出作爲腳本:

<script language="JavaScript" type="text/javascript" 
    src="http://fromtheabsenceofagirlfriendcomesthis.net/sounds/randomfile.php" 
<script> 

這不會工作,因爲你的目錄+打破標籤javascript代碼,所以整個「腳本」大幹因爲核爆不是有效語法/解析錯誤。如果您想將目錄列表動態加載到腳本中,則必須使用有效的JavaScript代碼來包圍生成的目錄列表,和/或通過AJAX調用從另一個腳本獲取列表。