Maison >développement back-end >tutoriel php >Comment forcer le téléchargement de fichiers en PHP lorsqu'ils sont hébergés sur un serveur distinct ?

Comment forcer le téléchargement de fichiers en PHP lorsqu'ils sont hébergés sur un serveur distinct ?

Patricia Arquette
Patricia Arquetteoriginal
2024-11-20 21:17:19424parcourir

How to Force File Downloads in PHP When Hosted on a Separate Server?

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!

Déclaration:
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