2010-07-13 5 views

Répondre

0

Ce que vous demandez est de contrôler le comportement du navigateur - ce n'est pas simple. Le meilleur pari que vous avez pour pointer le lien vers ce qui ressemble à une page Web (c'est-à-dire download.php?file=1) et une fois que le navigateur remarque ses données binaires, il demandera à l'utilisateur ce qu'il veut en faire. Cette méthode sera très probablement faire le travail. Mais notez que ce comportement ne peut pas être garanti et dépend fortement de la configuration du navigateur.

+0

Depuis cette méthode n'est pas recommandé comment dois-je présenter le pdf? Dois-je le copier et le coller sur la page? J'ai vu des fichiers PDF dans les navigateurs Web, mais je ne sais pas comment ils le font. Aussi je suis juste un débutant en design web. Je n'ai aucune idée de ce que sont les données binaires, désolé. Sincèrement, Caleb – Nelsencaleb

9

Utilisez l'en-tête Content-Disposition. Mais, s'il vous plaît: Seulement si c'est vraiment nécessaire pour l'utilisateur de télécharger le PDF et ne pas l'ouvrir (de sorte que c'est juste une aide pour l'utilisateur qu'il n'a pas à sélectionner explicitement "enregistrer le fichier "). Ne l'utilisez pas pour forcer l'utilisateur à le télécharger bien qu'il veuille juste le voir.

+0

Nice. Jamais utilisé cet en-tête. –

+0

+1 pour considérer l'utilisateur. –

3
Code

pour a.php:

<?php 
header('Content-type: application/pdf'); 
header('Content-Disposition: attachment; filename=file.pdf') 
echo file_get_contents("file.pdf"); 
?> 

lien dans web:

<a href="a.php">Download</a> 
0

Ceci est un problème commun et que peu de gens savent qu'il ya une solution simple HTML 5:

<a href="./directory/yourfile.pdf" download="newfilename">Download the pdf</a> 

newfilename est le nom de fichier suggéré pour l'utilisateur pour enregistrer le fichier. Ou par défaut le nom de fichier sur le Serverside si vous le laissez vide, comme ceci:

<a href="./directory/yourfile.pdf" download>Download the pdf</a> 

Compatibilité: Je l'ai testé ceci sur Firefox 21 et le fer, tous deux a bien fonctionné. Il peut ne pas fonctionner sur les navigateurs incompatibles avec HTML5 ou obsolètes. Le seul navigateur que j'ai testé qui n'a pas forcé le téléchargement est IE ...

0

Je pense qu'il y a un tag <meta> pour ça. Je pense il s'appelle «Nosave». N'allez pas chercher le WWW pour ça - je cherchais et je ne pouvais pas le trouver.

Questions connexes