XAMPP,PHP:echo向从数据库读取的Blob添加两个空格

时间:2019-07-03 06:48:39

标签: php mysql blob mime

我从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;

存储的文件长两个字节。前面有两个空格:

Downloaded word doc viewed in hex editor with two extra spaces in front

要检查是否以某种方式不输出这些空格,我在回显并将内容转储到文件之前调用了ob_get_contents()。文件的字节数为零。 因此看起来echo会产生这两个字节。

1 个答案:

答案 0 :(得分:0)

这里的帖子对我有帮助: https://drupal.stackexchange.com/questions/163628/extra-space-at-beginning-of-downloaded-image/163644

ob_start已经被称为ealier。发送内容之前,我只需要调用ob_clean()。