Php base64编码数据中的换行

Php base64编码数据中的换行,php,web-services,base64,httprequest,Php,Web Services,Base64,Httprequest,在服务器端脚本中,我使用以下PHP代码对图像进行编码: $handle = fopen($imageSrc,'r'); $file_content = fread($handle,filesize($imageSrc)); fclose($handle); $encoded = base64_encode($file_content); echo $encoded; 当我通过webservice读取文件时,它的长度为9309字节,这对于base64编码

在服务器端脚本中,我使用以下PHP代码对图像进行编码:

    $handle = fopen($imageSrc,'r');
    $file_content = fread($handle,filesize($imageSrc));
    fclose($handle);
    $encoded = base64_encode($file_content);

    echo $encoded;

当我通过webservice读取文件时,它的长度为9309字节,这对于base64编码的数据来说是无效的长度。检查数据,我发现最后一个字节的值是10(LF)。现在,在解码数据之前,我正在裁剪Web服务中的最后一个字节。有没有干净的方法避免发送LF字符

我不确定是什么原因导致了这种情况,但在过去调试过类似的问题之后,我会假设在
echo
下面有某种东西导致输出
\n


要测试这一点,请放置一个
die()直接在回声之后。如果我的理论是正确的,你可以离开
die(),或者(更好)在执行流中逐渐向下移动它,直到找到导致
\n
输出的原因。

我不确定是什么导致了这一点,但在过去调试过类似的问题后,我会假设
echo
下面有某种东西导致
\n
输出


要测试这一点,请放置一个
die()直接在回声之后。如果我的理论是正确的,你可以离开
die()
,或者(更好)在执行流中逐渐向下移动它,直到找到导致输出
\n
的原因。

实际发送base64编码图像的代码在哪里?echo$encoded;如果包含
die(),则实际发送base64数据直接在最后的
回显之后,
\n
是否仍然出现?如果我包括一个模具();执行eco后,\n将消失。谢谢你的提示!实际发送base64编码图像的代码在哪里?echo$encoded;如果包含
die(),则实际发送base64数据直接在最后的
回显之后,
\n
是否仍然出现?如果我包括一个模具();执行eco后,\n将消失。谢谢你的提示!