Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/263.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/90.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 找不到重影回车/换行符_Php_Html_Regex_Hexdump_Hex Editors - Fatal编程技术网

Php 找不到重影回车/换行符

Php 找不到重影回车/换行符,php,html,regex,hexdump,hex-editors,Php,Html,Regex,Hexdump,Hex Editors,我有一个.php文件,该文件获取openssl_pkcs7签名和正则表达式文件的内容,在回传给用户下载之前进行修剪 但是,下载的文件在文件的顶部/开头有一个换行符/换行符/回车符,这将破坏我的后续代码。当我在记事本++/notepad中打开文件时,已签名和正则表达式的template.mobileconfig在文件开头没有这一空行,但通过浏览器下载时它就在那里。我对它被插入的位置感到困惑,即使在修剪之后,它仍然在那里 代码: 下载的文件在记事本/记事本++中如下所示: 第1行总是空的。我尝试r

我有一个.php文件,该文件获取openssl_pkcs7签名和正则表达式文件的内容,在回传给用户下载之前进行修剪

但是,下载的文件在文件的顶部/开头有一个换行符/换行符/回车符,这将破坏我的后续代码。当我在记事本++/notepad中打开文件时,已签名和正则表达式的template.mobileconfig在文件开头没有这一空行,但通过浏览器下载时它就在那里。我对它被插入的位置感到困惑,即使在修剪之后,它仍然在那里

代码:

下载的文件在记事本/记事本++中如下所示:

第1行总是空的。我尝试readfile()和trim()来处理它,但没有任何效果

十六进制编辑器联机输出:

x0A显然是一个换行符,但它来自哪里?你为什么不把它处理掉


我想到的是尝试将x0A添加到您的饰件中

$trimmed = trim($content, " \t\n\r\0\x0B\x0A");

您的
include()
s中可能有一个换行符
\n

<?php
//code
?>     <======== \n right there (not visible)

您是否在十六进制编辑器中查看了文件以查看第1行中的实际内容?还没有!谢谢你指出这一点。让我试试看我得到了什么,我会在这里更新。@ChrisR.Timmons用Hex编辑器的输出更新。x0A是一个换行符。但是它是从哪里来的呢?为什么trim没有删除它?只是猜测,但这可能是echo语句的副作用。请参阅PHP手册条目,并向下滚动至“gmail.com上的通畅77”的注释。也许将调用包装在PHP标记
中可以解决问题。您可以发布mobileconfig文件内容吗?尝试了您的方法,换行符仍然存在!太令人沮丧了:(天哪。谢谢。我浏览了所有包含的.php,发现其中一个在“?>”标记后有两行提要。将它们和标记一起删除,然后重新运行代码。问题已解决!我很高兴能帮上忙:)我强烈支持删除
?>
的建议。如果代码中没有
?>
,则永远不必搜索隐藏的换行符。
<?php
//code
?>     <======== \n right there (not visible)
_
<?php 
?>