web-dev-qa-db-ja.com

PHP base64エンコードされたデータ文字列からPDFファイルを取得

PDFを含むbase64でエンコードされた文字列があります。 phpを使用してこのエンコードされた文字列から.pdfファイルを作成する方法は?

ヘッダー関数にContent-type:application/pdfのようなものがありますか?

これはbase64でエンコードされた文字列です

35
Jenson M John

このコードを試してください

$pdf_base64 = "base64pdf.txt";
//Get File content from txt file
$pdf_base64_handler = fopen($pdf_base64,'r');
$pdf_content = fread ($pdf_base64_handler,filesize($pdf_base64));
fclose ($pdf_base64_handler);
//Decode pdf content
$pdf_decoded = base64_decode ($pdf_content);
//Write data back to pdf file
$pdf = fopen ('test.pdf','w');
fwrite ($pdf,$pdf_decoded);
//close output file
fclose ($pdf);
echo 'Done';
57
Samy Massoud

これにより、ファイルを作成して開くことができます...しかし、これは質問に対する答えではないかもしれません

$data = base64_decode($this->Get(self::Body));
file_put_contents('file.pdf',$data);

答えはヘッダーでコンテンツをエコーすることです:

$data = base64_decode($this->Get(self::Body));
header('Content-Type: application/pdf');
echo $data;
21
esdebon