2013-05-31 49 views
1

我正在顯示.txt文件的內容,並且在文件內容末尾顯示的內容正好顯示爲「1」,只是隨機顯示。誰能告訴我爲什麼? 這裏是正在發生的事情:http://www.baboonhut.com/resources/當我包含.txt文件時,它在內容後面顯示'1'的位置?

驗證碼:

<?php 
$dir = 'resources/'; 

foreach(glob($dir.'*', GLOB_ONLYDIR) as $resdir) { 
    $resdir = str_replace($dir, '', $resdir); 
    echo " 
<div class=\"span3\"> 
<div class=\"tile\"> 
<img src=\"resources/". $resdir ."/thumbnail.png\" class=\"img-rounded\"> 
<h3 class=\"tile-title\">". $resdir ."</h3> 
<p>"; echo include('resources/'. $resdir .'/description.txt'); echo "</p> 
<a class=\"btn btn-primary btn-large btn-block\" href=\"http://www.baboonhut.com/resources/" . $resdir ."/\">More Information</a> 
</div> 
</div> 
" 
; 
} 
?> 
+1

因爲'include'返回'1'或'false'。你正在迴應那個聲明的返回值。請參閱http://php.net/manual/en/function.include.php:*「處理返回:'include'在失敗時返回FALSE並提出警告。成功包括,除非被包含文件覆蓋,否則返回1.」 * –

回答

0

而不是這樣做,你應該做readfile,它會輸出文本,就像你期待的那樣。

readfile('resources/'. $resdir .'/description.txt'); 

在我看來,include爲包括需要執行一些PHP文件,而不是用於顯示文本文件的數據進行的。

+0

謝謝瑞恩! – TheGiantBaboon

2

它的顯示,因爲此行的1

echo include('resources/'. $resdir .'/description.txt'); 
^ 
|--- Remove this 

但是,如果你想使用echo然後

echo file_get_contents('resources/' . $resdir . '/description.txt'); 

readfile('resources/' . $resdir . '/description.txt'); 
0

相反呼應出你包括你剛纔應該包括它:

include('resources/'. $resdir .'/description.txt');

包含返回true,計算結果爲1,這是你在你的輸出所看到的。

相關問題