Maison > Article > développement back-end > 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 ?
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>
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>
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!