Forcer les téléchargements de fichiers en PHP lorsqu'ils sont hébergés sur un serveur distinct
Lorsque vous fournissez aux utilisateurs une option "Télécharger ce fichier", en particulier pour les vidéos , il est essentiel de forcer le téléchargement pour empêcher la lecture dans le navigateur. Voici comment y parvenir en PHP même si les fichiers vidéo sont stockés sur un autre serveur :
<?php // Set file details. $file_name = 'file.avi'; $file_url = 'http://www.myremoteserver.com/' . $file_name; // Configure download headers. header('Content-Type: application/octet-stream'); header("Content-Transfer-Encoding: Binary"); header("Content-disposition: attachment; filename=\"\"" . $file_name . "\"\""); // Initiate download. readfile($file_url); // Prevent further script output. exit;
Ce script PHP configure les en-têtes nécessaires pour forcer le navigateur à télécharger le fichier au lieu de le lire dans- navigateur. Il utilise également la fonction readfile() pour récupérer et afficher le fichier à partir du serveur distant.
Remarque : Pour permettre à readfile() de lire à partir d'une URL distante, assurez-vous que fopen_wrappers est activé .
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!