我试图在PHP应用程序中生成一个XML文件:
<?php
...
header('Content-Type: application/xml');
header('Content-Disposition: attachment; filename=test.xml');
echo "<?xml version=\"1.0\"?>\r\n" .
...奇怪的是,当使用我的服务器(PHPVersion5.3.8/Apache2.2.17和PHPVersion5.3.10-1/Apache2.2.22)时,是一个行提要(十六进制字符插入在输出*的开头,导致无法使用的无效)。还有还有一个关于这个的在线问题,还没解决。
所以,如果我尝试echo "bug";,我会得到4个字节,而不是3:0a 62 75 67
但是,当在本地使用WAMP服务器(PHP5.4.3/Apache2.4.2)时,我得到3个字节:62 75 67。
发布于 2016-04-06 00:58:40
我刚碰到这个。我和团队花了一个小时才找到。太神奇了。我非常喜欢PHP。
这就是导致我们的原因:
<php
$code = "blah";
?php>
<EOF>注意文件末尾的NEWLINE
PHP,在其所有超凡的美丽,将解释这条换行线,你实际上是想发送给某人通过电线。毕竟它是HTML。因此,即使包含路径中的多个PHP文件以换行符结尾,响应中最多会有一个换行符。
请特别注意,任何包含或需要的文件,如果以换行符结尾,则从当前文件中回送或打印的任何文件都将加上换行符。
只是。太棒了。
https://stackoverflow.com/questions/15578271
复制相似问题