在PHP中将二进制字符串保存为PDF时,PDF文件始终损坏

在PHP中将二进制字符串保存为PDF时,PDF文件始终损坏,php,sql-server,pdf,Php,Sql Server,Pdf,我在mssql数据库中存储了一组二进制PDF。我从mssql数据库获取返回给php的pdf的二进制字符串,然后通过修改标题将其传递给浏览器。浏览器会提示下载pdf文件,但没有任何东西会打开它,并表示文件已损坏 我有如下基本的头实现 header ("Content-Type: application/pdf"); header ("Content-Disposition: attachment; filename=apdf.pdf"); echo $return['Standard_BIN'];

我在mssql数据库中存储了一组二进制PDF。我从mssql数据库获取返回给php的pdf的二进制字符串,然后通过修改标题将其传递给浏览器。浏览器会提示下载pdf文件,但没有任何东西会打开它,并表示文件已损坏

我有如下基本的头实现

header ("Content-Type: application/pdf");
header ("Content-Disposition: attachment; filename=apdf.pdf");
echo $return['Standard_BIN'];

可能
$return['Standard_BIN']
包含编码形式的数据(如base64)。它是如何保存到数据库的?我不确定是否需要与数据库管理员核实。我知道这是一个编码的pdf,但我不认为字符串也是编码的。生成的pdf的确切内容是什么?也许有一些错误信息潜入。使用文本内容类型,查找错误消息/警告和正确的PDF标题(
%PDF
(hex
25 50 44 46
))好的,我将其更改为文本并在txt程序中打开。我不会把内容放在这里,但我已经把txt文件上传到了mnwade.co.uk/apdf44.txt,里面提到了pdf,第一部分看起来还可以,但之后链接就有点疯狂了,wordpress htaccess screwy。这个有