Forcer les téléchargements de fichiers en PHP
Si vous devez fournir aux utilisateurs un moyen de télécharger des images ou tout autre type de fichier à partir de votre PHP script, il existe une approche simple que vous pouvez suivre.
Fournir des liens de téléchargement
Pour chaque image ou fichier que vous souhaitez rendre disponible au téléchargement, incluez un lien hypertexte qui pointe vers un script PHP avec le code suivant :
<code class="php"><?php // File details $filePath = '/path/to/file/on/disk.jpg'; $fileName = basename($filePath); $fileSize = filesize($filePath); // Set headers to force download header("Cache-Control: private"); header("Content-Type: application/stream"); header("Content-Length: " . $fileSize); header("Content-Disposition: attachment; filename=" . $fileName); // Output the file readfile($filePath); exit(); ?></code>
Ce script définit les en-têtes nécessaires pour forcer le téléchargement du fichier lorsque vous cliquez dessus, en spécifiant le nom et la taille du fichier.
Gestion du téléchargement Requêtes
Une fois le lien de téléchargement cliqué, ce script s'exécutera avant que toute autre sortie ou en-tête ne soit envoyé. Il est important de s'en assurer pour éviter tout conflit.
Considérations de sécurité
Si vous autorisez les téléchargements de fichiers arbitraires en fonction des entrées de l'utilisateur (par exemple, à partir d'un $_GET paramètre), veillez à mettre en œuvre des mesures de sécurité telles que la prévention de la traversée des répertoires et la limitation des téléchargements à une zone autorisée spécifique.
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!