Maison > développement back-end > tutoriel php > Comment forcer les téléchargements de fichiers en PHP : garantir les téléchargements au lieu de la lecture ?

Comment forcer les téléchargements de fichiers en PHP : garantir les téléchargements au lieu de la lecture ?

Linda Hamilton
Libérer: 2024-11-15 07:43:02
original
709 Les gens l'ont consulté

How to Force File Downloads in PHP: Ensuring Downloads Instead of Playback?

Comment lancer des téléchargements forcés de fichiers en PHP

Forcer les téléchargements de fichiers au lieu de simplement créer un lien vers eux peut être crucial pour empêcher la lecture vidéo indésirable dans navigateurs. Ceci est particulièrement pertinent lorsque les fichiers vidéo résident sur des serveurs externes. Heureusement, PHP propose une solution à ce scénario.

Pour forcer les téléchargements à l'aide de PHP, envisagez l'approche suivante :

1. Configurer les en-têtes :

header('Content-Type: application/octet-stream');
header("Content-Transfer-Encoding: Binary"); 
header("Content-disposition: attachment; filename=\"". $file_name . "\"");
Copier après la connexion
  • Content-Type : Spécifie que le contenu est un flux d'octets, qui est un flux de données binaire.
  • Content-Transfer-Encoding : Indique que les données sont transférées au format binaire.
  • Content-disposition : Définit la pièce jointe et le nom du fichier à télécharger.

2. Appelez la fonction readfile() :

readfile($file_url);
Copier après la connexion
  • readfile() tente de lire le contenu d'un fichier et de l'écrire dans le tampon de sortie actuel.
  • $file_url est l'URL distante où le fichier est hébergé.

3. Empêcher toute sortie ultérieure :

exit;
Copier après la connexion
  • Cette ligne garantit qu'aucun contenu supplémentaire n'est affiché une fois le téléchargement lancé.

Considérations supplémentaires :

  • Pour que readfile() accède à l'URL distante, assurez-vous que fopen_wrappers est activé.
  • Cette méthode lance le téléchargement quel que soit le type de fichier. Pour des types de fichiers spécifiques, envisagez d'utiliser les fonctions intégrées de PHP comme header('Location: ...') ou unlink().

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal