2013-11-14 53 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)); 
}