1

我正在显示 .txt 文件的内容,并且内容显示正常,文件内容的末尾随机出现一个数字“1”。谁能告诉我为什么?这是正在发生的事情:http ://www.baboonhut.com/resources/

编码:

<?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>
"
;
}
?>
4

3 回答 3

2

1因为这条线它的显示

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

但是如果你想使用echo那么

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

或者

readfile('resources/' . $resdir . '/description.txt');
于 2013-05-31T20:40:56.020 回答
0

而不是这样做,你应该这样做readfile,它会像你期望的那样输出文本。

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

在我看来,include它是为了包含需要执行某些东西的 php 文件,而不是为了显示文本文件的数据。

于 2013-05-31T20:42:03.703 回答
0

而不是回显您的包含,您应该只包含它:

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

Include 返回 true,其值为 1,这就是您在输出中看到的内容。

于 2013-05-31T20:44:30.127 回答