2010-05-31 57 views
0

的问题,我不知道我做错了! 我想读一个文件夹,并通过现有的文件运行,检查,如果他们不是图像或文本文件。PHP:与读取文件

如果有,他们应该被放入一个div TEXTFILES,如果有图像应作为图像输出。

<?php 
$path = 'thumbs'; 
if ($handle = opendir($path)) { 
    while (false !== ($file = readdir($handle))) { 
     $ext = pathinfo($file, PATHINFO_EXTENSION); 
      if ($ext == "jpg" || $ext == "jpeg" || $ext == "gif" || $ext == "png") { 
       print "<img class='thumb' src='$path/$file'/>"; 
      } else if ($ext == "txt" || $ext == "rtf") { 
       //read text 
       $lines = file_get_contents($file); 
       $lines = str_replace("\n","<br/>",$lines); 
       print "<div class='text'>" . $lines . "</div>"; 
       //read text 
      } 
    } 
    closedir($handle); 
} 
?> 

似乎有一个问题,我无法找到,因为所有的影像得到扑灭,但只有少数TEXTFILES的人会打印。 任何想法,为什么它只打印出一个文本文件?

谢谢你的帮助!

+0

可以登录的$内线到文本文件的价值?我认为它没有正确设置。您也可以尝试使用“else”而不是“else if”来捕捉图像条件没有的所有内容。 – barrycarter 2010-05-31 19:17:02

+0

我会建议使用'nl2br()'如果我将其更改为一个简单而不是替换字符串(适用于Windows行结尾,太) – soulmerge 2010-05-31 19:18:45

+0

“其他”,而不是“否则,如果”不有所作为! – matt 2010-05-31 19:26:50

回答

0

不同的地方,这是正在运行它可能不知道文件的路径...尝试这样的事:

$lines = file_get_contents($path . '/' . $file); 
+0

谢谢!而已! – matt 2010-05-31 19:39:15

0

您确定在thumbs目录中有多个txtrtf文件吗?

+0

是的,有4个txt文件和5个图像。所有图像印刷得到我想要的方式,但只有一个文本文件(test_one.txt - 在它的一些Lorem存有)被读取。 – matt 2010-05-31 19:23:32