Forcer les téléchargements de fichiers en PHP avec le stockage de fichiers à distance
Pour ajouter une fonctionnalité « Télécharger ce fichier » à un site Web tout en empêchant la lecture directe dans le navigateur, envisagez la solution PHP suivante :
// Locate the remote file. $file_name = 'file.avi'; $file_url = 'http://www.myremoteserver.com/' . $file_name; // Configure the download settings. header('Content-Type: application/octet-stream'); header('Content-Transfer-Encoding: Binary'); header('Content-disposition: attachment; filename="' . $file_name . '"'); // Download the remote file content. readfile($file_url); // Ensure no output follows the download. exit;
Tout d'abord, le script PHP localise le fichier distant et configure les en-têtes HTTP nécessaires pour forcer un téléchargement au lieu d'une lecture.
Le script utilise la fonction readfile() pour récupérer le contenu du fichier distant. Notez que le paramètre fopen_wrappers doit être activé pour que PHP puisse lire les URL distantes.
Enfin, le script se termine pour empêcher toute autre sortie susceptible d'interférer avec le processus de téléchargement.
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!