如何从二进制文件

时间:2015-12-16 06:47:30

标签: php pdf

二进制数据只是实际文件,或者更确切地说是该文件的重要内容,只是没有文件名。

$base64 = /* some base64 encoded data fetched from somewhere */;
$binary = base64_decode($base64);

你在$ binary变量中有文件的文件数据/内容。从这里开始,这取决于你想做什么。您可以将数据写入文件,然后获得“实际”PDF文件:

file_put_contents('my.pdf', $binary);

您可以使用适当的标头将数据吐出到浏览器,用户将收到类似PDF文件的内容:

header('Content-type: application/pdf');
header('Content-Disposition: attachment; filename="my.pdf"');
echo $binary;

它生成一个pdf文件,但它没有打开..出现错误。      //下面是php文件

 <?php
 $base64 = "/here binary code/";
 $binary = base64_decode($base64);
 file_put_contents('my.pdf',$binary);
 header('Content-type: application/pdf');
 header('Content-Disposition: attachment; filename="my.pdf"');
 echo $binary;
 ?>

然后如何将下载的文件与原始文件进行比较。

1 个答案:

答案 0 :(得分:1)

我认为您的问题是您在$ base64变量中没有正确的数据。您只是制作PDF回复,但该回复的内容不是PDF文件。

(您可以尝试从一些真实的PDF中读取内容,将此数据填充到$ binary,它应该可以工作。)