XAMPP, PHP: echo 添加两个空格到从数据库读取的 blob
XAMPP, PHP: echo adds two spaces to blob read from database
我从 mysql 数据库读取 blob(word 2010 文档)并将其存储在 $data 变量中。当我像这样将数据直接存储在 PHP 中时:
file_put_contents('c:\temp\dump.docx', $data);
我可以在 Word 中打开 dump.docx(大小与原始文件匹配)。如果我尝试像这样发送 $data:
ob_start();
header('Content-disposition: attachment; filename=' . $name);
header('Content-type: ' . $type);
ob_clean();
echo $data;
ob_end_flush();
exit;
存储的文件多了两个字节。前面有两个空格:
为了检查我是否以某种方式不输出这些空格,我在 echo 之前调用了 ob_get_contents() 并将内容转储到文件中。文件有零字节。
所以看起来 echo 正在产生这两个字节。
post 对我有帮助:
https://drupal.stackexchange.com/questions/163628/extra-space-at-beginning-of-downloaded-image/163644
ob_start 已经被称为更早了。在发送内容之前,我只需要调用 ob_clean()。
我从 mysql 数据库读取 blob(word 2010 文档)并将其存储在 $data 变量中。当我像这样将数据直接存储在 PHP 中时:
file_put_contents('c:\temp\dump.docx', $data);
我可以在 Word 中打开 dump.docx(大小与原始文件匹配)。如果我尝试像这样发送 $data:
ob_start();
header('Content-disposition: attachment; filename=' . $name);
header('Content-type: ' . $type);
ob_clean();
echo $data;
ob_end_flush();
exit;
存储的文件多了两个字节。前面有两个空格:
为了检查我是否以某种方式不输出这些空格,我在 echo 之前调用了 ob_get_contents() 并将内容转储到文件中。文件有零字节。 所以看起来 echo 正在产生这两个字节。
post 对我有帮助: https://drupal.stackexchange.com/questions/163628/extra-space-at-beginning-of-downloaded-image/163644
ob_start 已经被称为更早了。在发送内容之前,我只需要调用 ob_clean()。