2012-10-22 86 views
8

如何從php5中的數據庫中檢索二進制文件生成PDF文件?它來base64編碼,我只是解碼它,但不知道下一步該怎麼做...如何從二進制文件生成pdf文件?

+0

什麼是「二進制文件」?你的意思是你之前存儲了一個在數據庫中編碼的PDF文檔base64? – deceze

+0

我從web服務中獲取文件,並且希望使其可讀,但不知道在我知道我的替代方法之前以何種方式。 – nli

回答

25

二進制數據簡直就是實際文件,或者說是該文件的重要內容,只是沒有文件名。

$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; 
+2

我通常不會感謝SE網站...剛剛投票...但花了2小時試圖做到這一點「硬道路」,並沒有找到任何來源的幫助...我必須感謝你! = d –

-1

我重複你的最後一句話:)我不知道什麼是問題! :)。如果您想將文件推送到瀏覽器,您可以設置標題並傳輸解碼後的內容。或者,如果您想要該文件,請寫入文件系統並使用它。請更清楚你的問題!

謝謝!

+0

對不起,但這個文件處理對我來說是新的,所以我想弄清楚如何使用我從web服務中獲取的以二進制格式提取的pdf文件。 – nli