2013-11-22 76 views
2

我能夠正確解析從Docusign Connect收到的XML,但是我遇到了將PDFBytes保存到PDF文件以供稍後查看的問題。以下是我正在使用的代碼片段。保存由DocuSign Connect發送的PDF

$filename = $xml->DocumentPDFs->DocumentPDF->Name; 
$contents = $xml->DocumentPDFs->DocumentPDF->PDFBytes; 
file_put_contents($filename, $contents);     

當我嘗試打開文件時,查看器不明白文件是什麼。

我錯過了什麼?

+0

您確定$ xml結構中的'PDFBytes'沒有損壞嗎?你是否嘗試過使用不同的信封並獲得相同的內容?沒有任何其他信息表面上看起來應該工作... – Ergin

+1

我實際上找到了原因... file_put_contents($ filename,$ contents);需要file_put_contents($ filename,base64_decode($ contents));因爲它是base64編碼的。 – user3022762

+0

哦很好,你應該回答你自己的問題,然後讓社區從你的回答中受益 – Ergin

回答

1

(發佈作爲回答您的評論,以便其他人可以在將來這些信息中受益。)

$內容是base64編碼,所以你需要使用BASE64_DECODE - 這樣:

file_put_contents($filename, base64_decode($contents));