Maison >développement back-end >tutoriel php >Comment forcer le téléchargement de fichiers en PHP sans redirection vers le navigateur ?
Introduction
Fournir aux utilisateurs la possibilité de télécharger des fichiers est une fonctionnalité courante sur le Web candidatures. Cet article vous guidera dans la création de liens de téléchargement d'images et dans l'interdiction de la navigation vers le navigateur.
Solution
Pour forcer le téléchargement d'un fichier, vous pouvez utiliser le code suivant :
<code class="php"><?php // File path on disk $filePath = '/path/to/file/on/disk.jpg'; // Check if file exists 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('Invalid file path'); } ?></code>
En utilisant cet extrait de code au début d'une page PHP, les utilisateurs pourront télécharger un fichier en cliquant sur un lien normal.
Considérations de sécurité
Lors de la création d'une fonction de téléchargement de fichiers arbitraires, il est crucial de se protéger contre les entrées malveillantes. Utilisez des mesures telles que realpath pour empêcher la traversée des répertoires et restreindre les téléchargements à des emplacements prédéterminés afin de maintenir la sécurité du site Web.
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!