Affichage des fichiers PDF dans les navigateurs des utilisateurs via PHP/Perl
Cette question répond à la nécessité d'afficher les fichiers PDF dans les navigateurs des utilisateurs, permettant le suivi des clics et dissimuler l'emplacement réel du PDF. Les solutions PHP et Perl existantes se sont révélées utiles pour créer des PDF et déclencher des boîtes de dialogue de sauvegarde, mais pas pour l'affichage direct.
Solution PHP
Pour afficher correctement le PDF dans un navigateur, apportez les ajustements suivants à votre code :
<code class="php">header('Content-Disposition: inline; filename="the.pdf"');</code>
Solution Perl
De même, ajustez le code Perl pour inclure :
<code class="perl">print "Content-Disposition: inline; filename=\"the.pdf\"\n";</code>
Considérations supplémentaires
Certains navigateurs téléchargent ou ouvrent automatiquement les fichiers PDF dans des applications externes. Pour éviter cela, l'en-tête suivant peut être ajouté aux solutions PHP et Perl :
header('Content-Transfer-Encoding: binary');
Problème résolu : barre de progression du chargement
Pour afficher la progression du chargement dans Adobe Reader X, ajoutez l'en-tête suivant :
header('Accept-Ranges: bytes');
Problème résolu : code final
Le code PHP final, entièrement résolu, est le suivant :
<code class="php">$file = './path/to/the.pdf'; $filename = 'Custom file name for the.pdf'; /* Note: Always use .pdf at the end. */ header('Content-type: application/pdf'); header('Content-Disposition: inline; filename="' . $filename . '"'); header('Content-Transfer-Encoding: binary'); header('Content-Length: ' . filesize($file)); header('Accept-Ranges: bytes'); @readfile($file);</code>
Ce code mis à jour garantit que les fichiers PDF s'affichent correctement dans les navigateurs des utilisateurs, avec suivi des clics et masquage d'URL comme souhaité.
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!