我有运行网络服务并给我带来二进制文件的函数:
$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不显示
- 二进制字符以不带开头注释的开头:
<![CDATA[
这是我的 php 文件,我正在尝试在其中显示该文件:
header('Content-type: application/'pdf);
$fileData = get_file_data ($_GET['fileID']);
echo $fileData->Report;
这不是二进制的。确切地说,XML 以纯文本数据格式而闻名。
从您共享的示例数据中,我想它是 Base64,这是一种将二进制数据编码为纯文本的流行算法。PHP 有一个原生函数来解码它。