Comment définir les en-têtes PHP corrects pour le téléchargement de fichiers PDF : pourquoi l'approche commune échoue-t-elle et comment y remédier ?

Barbara Streisand
Libérer: 2024-11-03 03:34:02
original
704 Les gens l'ont consulté

How to Set the Correct PHP Headers for PDF File Download: Why Does the Common Approach Fail and How to Fix It?

Comment définir les en-têtes PHP corrects pour le téléchargement de fichiers PDF

De nombreux utilisateurs rencontrent des difficultés lorsqu'ils tentent de configurer leurs applications Web pour ouvrir automatiquement un Document PDF lorsqu'un lien est cliqué. Cet article vise à apporter une solution à ce problème.

Une approche courante consiste à utiliser une redirection vers une page spécifique qui génère les en-têtes nécessaires pour lancer le téléchargement du PDF. Cependant, l'extrait de code suivant échoue souvent :

<code class="php">$filename = './pdf/jobs/pdffile.pdf;
$url_download = BASE_URL . RELATIVE_PATH . $filename;
header("Content-type:application/pdf");
header("Content-Disposition:inline;filename='$filename\"");
readfile("downloaded.pdf");</code>
Copier après la connexion

Pour résoudre ce problème, il est recommandé de suivre l'approche démontrée dans l'exemple 2 sur w3schools :

<code class="php">header("Content-type:application/pdf");

// Set the desired file name for download
header("Content-Disposition:attachment;filename=\"downloaded.pdf\"");

// Read the PDF content from its source file
readfile("original.pdf");</code>
Copier après la connexion

Il est crucial de rappelez-vous que header() doit précéder toute sortie réelle. Dans les versions PHP 4 et supérieures, la mise en mémoire tampon de sortie peut être utilisée pour contourner cette limitation.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal