PHP 如何从二进制数据显示文件



我有运行网络服务并给我带来二进制文件的函数:

$params->xmlRequest = $paramsStr;
$result = $s->__call("SubmitXmlString",array($params));
$obj_pros = get_object_vars($result);
$xml =  $obj_pros['SubmitXmlStringResult']; 
$xml = simplexml_load_string($xml); 
return ($xml);  

响应示例:

<PnrGetReportDoc ReportName="ExternalDocument">
    <Report ID="6214" Type="pdf" Name="file name" IsCompressed="1">
        <![CDATA[JVBERi0xLjcNCiW1tbW1DQoxIDAgb2JqDQo8PC9UeXBlL0NhdGFsb2cvUGFnZXMgMiAQolJU......................VPRg==]]>
        </Report>
    <ReportImages>
</ReportImages>
</PnrGetReportDoc>

我想回显内容以显示文件

我试图回显二进制,但是:1.PDF不显示

  1. 二进制字符以不带开头注释的开头:<![CDATA[

这是我的 php 文件,我正在尝试在其中显示该文件:

header('Content-type: application/'pdf);
$fileData = get_file_data ($_GET['fileID']);
echo $fileData->Report;

这不是二进制的。确切地说,XML 以纯文本数据格式而闻名。

从您共享的示例数据中,我想它是 Base64,这是一种将二进制数据编码为纯文本的流行算法。PHP 有一个原生函数来解码它。

相关内容

  • 没有找到相关文章

最新更新