im essayant d'obtenir un site Web pour avoir un bouton qui oblige un téléchargement d'un fichier PDF.
Heres Le HTML du bouton: P>
<?php header('Content-Type: application/pdf'); header('Content-disposition: attachment;filename=documents/ECM_IT_ResumeDownload.pdf'); readfile('documents/ECM_IT_ResumeDownload.pdf'); ?>
5 Réponses :
Essayez de supprimer le chemin du fichier et de quitter le nom du fichier dans le contenu:
header('Content-Type: application/pdf'); header('Content-disposition: attachment; filename=ECM_IT_ResumeDownload.pdf');
Avez-vous essayé de vous débarrasser de la balise PHP de fermeture (la?>) à la fin? Il traitera de la page en tant que page PHP pure, en supprimant les nouvelles lignes éventuelles pouvant être accidentellement annexées à la fin de la sortie. Cela m'a aidé quand je crée de manière dynamique des fichiers Excel au téléchargement, et ils ont été téléchargés comme corrompus. Découvrez cette page pour plus d'informations: P>
http://www.php.net/manual/ EN / LANGUE.BASIC-SYNTAX.PHPTAGS.PHP P>
de votre question modifiée, il semble que PHP ne puisse pas trouver le fichier. Essayez d'utiliser un chemin absolu vers le fichier comme si: "C: \ bla \ de \ blah \ bloo.pdf" ou "c: /blah/de/blah/blo.pdf". Si l'une de ces chemins fonctionne et télécharge correctement, votre chemin relatif est incorrect d'une manière ou d'une autre. P>
C'est quelque chose que je ne savais pas, je pensais que tu devais toujours les fermer, mais cela ne résout pas le problème malheureusement
Essayez un chemin absolu dans l'appel ReadFile (): "C: /HTML/Downloads/ecm_it_resumedownload.pdf" ou autre.
Hoora! Pas de problème, passez une bonne nuit :)
J'utilise toujours le script de téléchargement de Gowon Patterson, il a également une protection HOTLINK: http://by.gowondesigns.com/gefile/ p>
$file_url = www.example.com/pdffolder/$pdfname; header('Content-Type: application/pdf'); header("Content-Transfer-Encoding: Binary"); header("Content-disposition: attachment; filename=".$pdfname); readfile($file_url);
> en-tête ("Contenu-disposition: pièce jointe; nom_fichement =". $ PDFName); code> Je vous recommanderais également que vous le feriez simplement au cas où ...
urlencode ($ pdfname) code>
Au fait, un peu en retard, mais pour identifier le problème correctement ici: P>
Votre script de téléchargement est à Par conséquent, votre fonction scripts / download.php code> et le fichier que vous souhaitez télécharger est à
documents / [...]. PDF code>. p>.
lishfile () code> doit être traversée dans le répertoire parent (en dehors des scripts code>), par exemple.
ReadFile ('../ Documents / [...]. PDF'); Code>. P>
Envelopper une balise d'entrée dans une balise de liaison est impair
Très probablement, quelque chose provoque la sortie de la production d'une teneur en PDF non valide .. Peut-être que le serveur jette une erreur. Essayez d'ouvrir le fichier de résultat dans un éditeur de texte
Ahh je n'ai pas remarqué que, j'avais fait ça pour un autre lien mais je n'ai pas remarqué que j'ai encore eu que
Avez-vous essayé de comparer les fichiers source et téléchargé?
Assurez-vous qu'il n'y a pas d'espaces de fin après le
?> Code>, qui ferait partie du téléchargement. En fait, éliminer le
?> Code> entièrement, cela devient un non-problème.