un panneau de téléchargement à afficher sur en cliquant sur le lien de téléchargement, je ne veux pas naviguer à l'image à afficher Si vous voulez forcer un téléchargement, vous pouvez utiliser quelque chose comme ce qui suit:
<?php
// Fetch the file info.
$filePath = '/path/to/file/on/disk.jpg';
if(file_exists($filePath)) {
$fileName = basename($filePath);
$fileSize = filesize($filePath);
// Output headers.
header("Cache-Control: private");
header("Content-Type: application/stream");
header("Content-Length: ".$fileSize);
header("Content-Disposition: attachment; filename=".$fileName);
// Output file.
readfile ($filePath);
exit();
}
else {
die('The provided file path is not valid.');
}
?>
Si vous avez simplement un lien vers ce script En utilisant un lien normal, le fichier sera téléchargé. Incidemment, l'extrait de code ci-dessus doit être exécuté au début d'une page (avant que tout en-tête ou sortie HTML ne se produise). Faites également attention si vous décidez de créer une fonction basée autour de ceci pour télécharger des fichiers arbitraires - vous devez vous assurer que vous empêchez la traversée de répertoire (realpath est pratique), autorisez uniquement les téléchargements à partir d'une zone définie, etc. si vous acceptez l'entrée d'un $ _GET ou $ _POST.
'download'? – RaYell
@RaYell il a dit * en PHP *. Donc, c'est en fait 'echo 'download';': P –