2010-05-31 62 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