我有一个.php,file_get_contents的openssl_pkcs7签名和regex'd文件,在回显用户下载之前对其进行了修改。
但是,下载的文件在文件的顶部/开始处有一个换行/新行/回车,这破坏了我随后的代码。当我在记事本++/记事本中打开文件时,签名和regex的template.mobileconfig在文件的开头没有这个空行,但是当通过浏览器下载时它就在那里了。我很困惑它是在哪里插入的,即使经过修剪,它仍然在那里。
代码:
header("Content-type: text/plain");
header("Content-Disposition: attachment; filename=signed.mobileconfig");
$content = file_get_contents('./template.mobileconfig');
$trimmed = trim($content, " \t\n\r\0\x0B");
echo $trimmed;
在记事本/记事本++中下载的文件如下所示:
第1行总是空的。我试过readfile()和trim()来尝试解决这个问题,但是没有结果。
十六进制编辑器在线输出:
x0A显然是一个行提要,但它是从哪里来的?为什么不修剪掉它?
发布于 2017-10-12 19:32:29
您的include()
之一可能有一个换行符\n
。
<?php
//code
?> <======== \n right there (not visible)
查找所有包含的PHP文件,并删除开始标记之前的空格:
_
<?php
并去掉结束标记(不需要):
?>
发布于 2017-10-12 18:00:09
我脑子里想的是想把x0A加到你的装饰品上。
$trimmed = trim($content, " \t\n\r\0\x0B\x0A");
https://stackoverflow.com/questions/46721173
复制