我有一个运行PHP if语句的网站,根据附加的文件类型显示内容,即Jpg,Txt,MP4。
所以我显示TXT文件的代码是:
if($post_attachment == 'txt'){$display_attachment = "
<div class=\"sectionDivide\"></div>
<div class=\"section\">
<div class=\"articleAttachment\">
include(\"../a/files/attachments/$post_year/$post_month/$post_id.$post_attachment\");
</div>
</div>
";}
问题是它没有显示TXT文件的内容,而是在我的网页中显示行include("../a/files/attachments/2016/11/161123095119.txt");
。
如何让它显示我回显$display_attachment
的文本文件的内容?
答案 0 :(得分:1)
直接(和原始)方式是使用php的字符串连接运算符(.
):
$display_attachment = sprintf('
<div class="sectionDivide"></div>
<div class="section">
<div class="articleAttachment">' .
include("/some/path/to/file") . '
</div>
</div>
');
使用sprintf()
:
$display_attachment = sprintf('
<div class="sectionDivide"></div>
<div class="section">
<div class="articleAttachment">
%s
</div>
</div>
',
include("/some/path/to/file")
);
一个干净的解决方案会将包含的结果提取到字符串变量中并使用它。
答案 1 :(得分:-1)
显示文件include()
的内容是错误的功能。 include()
将加载并执行php代码。
您应该尝试使用fread()
来获取TXT文件的内容:
http://php.net/manual/en/function.fread.php