web-dev-qa-db-fra.com

PHP récupère le fichier pdf à partir de la chaîne de données encodée en base64

J'ai une chaîne encodée en base64 contenant un pdf. Comment créer un .pdf fichier de cette chaîne encodée en utilisant php?

Quelque chose comme Content-type:application/pdf dans la fonction d'en-tête?

c'est la chaîne encodée en base64

35
Jenson M John

Essayez ce morceau de code

$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

Avec cela, vous pouvez créer et ouvrir le fichier ... mais ce n'est peut-être pas la réponse à la question

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

La réponse est en écho au contenu avec un en-tête:

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