2013-11-14 75 views
4

這實際上是一項簡單的工作 我想顯示位於指定文件夾中的所有文件的內容。從目錄中讀取所有文件內容 - php

我正在第二頁上,通過目錄名

echo "<a href='see.php?qname=". $_name ."'>" . $row["qname"] . "</a>"; 

我寫

while($entryname = readdir($myDirectory)) 
{ 
      if(is_dir($entryname)) 
      { 
       continue; 
      } 
      if($entryname=="." || $entryname=="..") 
      {} 
      else 
      { 
       if(!is_dir($entryname)) 
       { 
        $fileHandle=fopen($entryname, "r"); 

        while (!feof($fileHandle)) { 
      $line = fgets($fileHandle); 
      echo $line . "<br />"; 
     } 

。 。 。

,但我無法讀取任何文件, 我有靜態改變了他們的權限過於

我試圖把目錄名稱和它的作品, 任何解決方案?

回答

5

$entryname將包含JUST文件名,沒有路徑信息。你必須自己手動重建路徑。例如

$dh = opendir('/path/you/want/to/read/'); 
while($file = readdir($dh)) { 
    $contents = file_get_contents('/path/you/want/to/read/' . $file); 
            ^^^^^^^^^^^^^^^^^^^^^^^^^^---include path here 
} 

如果沒有顯式路徑的「讀取文件的代碼」,你試圖打開並閱讀腳本的當前工作目錄中的文件,而不是你從閱讀的文件名導演。

+0

是的,它的工作馬克 –

+0

我建議添加類似 '如果($文件== || $ file =='..'){ continue; }' 在linux服務器上之後 – LOLapalooza

2

簡單多了:

foreach(glob("$myDirectory/*") as $file) { 
    foreach(file($file) as $line) { 
     echo $line . "<br />"; 
    } 
} 

更簡單: ''

foreach(glob("$myDirectory/*") as $file) { 
    echo nl2br(file_get_contents($file)); 
}