我有一个PHP脚本,它接收参数并将数据从存储在互联网上的文本文件打印到屏幕上。
例如,您可以请求
http://example.com/resource.php?id=5
假设该请求是尝试访问文本文件资源,因此我继续查找文本文件的URL,阅读它,然后在页面上显示:
$f = fopen($url, "rb");
echo stream_get_contents($f);
然而格式化不正确;它缺少新线。我尝试使用r
模式,但输出仍然相同。
然后我记得文本文件中的新行(\n
,\r\n
,可能还有其他行)在HTML中不被视为换行符,所以我去了{{1 }和\r\n
到\n
现在新线条显示正常。但是,我注意到这里和那里有大量的空白区域,并且意识到这是因为那些特定的文本看起来像<br>
和<this>
此时我意识到这似乎不是一个好主意,特别是因为浏览器知道如何渲染文本文件。我可以简单地将它们重定向到我猜的文本文件的URL,但我计划提供将查询多个文件以进行输入的功能,因此重定向可能无法正常工作。
如何可靠地提供文本文件中的内容?
答案 0 :(得分:4)
如果您想告诉浏览器您正在提供文本而不是HTML,那么:
header("Content-Type: text/plain");