Comment est le nom du fichier de téléchargement choisi et est-il un moyen de le changer?

StackOverflow https://stackoverflow.com/questions/894298

  •  23-08-2019
  •  | 
  •  

Question

J'ai un lien vers un fichier pas sur mon serveur:

<a href="history.nasa.gov/monograph15b.pdf">NASA</a>

Je voudrais faire en sorte que lorsqu'un visiteur clique sur le lien pour télécharger, le nom qui pop-up pour le PDF serait NASA.pdf, et non monograph15b.pdf.

Est-ce possible dans toutes les langues?

Était-ce utile?

La solution

Si vous n'allez pas héberger le fichier vous-même, vous pourrez peut-être lire le contenu du fichier, puis envoyer ces contenus directement dans le navigateur avec les en-têtes appropriés.

Notez que ce sera lent car vous serez re-télécharger le fichier de la NASA à chaque fois que l'exécution de votre page PHP.

<?php
$filename = "http://history.nasa.gov/monograph15b.pdf";
$outputfilename = "NASA.pdf";

header("Content-Type:  application/pdf");
header("Content-Disposition:  attachment; filename=\"" . basename($outputfilename) . "\";" );
header("Content-Transfer-Encoding:  binary");
readfile("$filename");
?>

Cette approche exige également que PHP soit configuré de sorte que fopen () peut gérer la lecture d'un fichier sur HTTP.

scroll top