Maison > développement back-end > tutoriel php > Comment puis-je forcer le téléchargement d'un fichier à l'aide de PHP ?

Comment puis-je forcer le téléchargement d'un fichier à l'aide de PHP ?

Linda Hamilton
Libérer: 2024-12-24 04:55:14
original
715 Les gens l'ont consulté

How Can I Force a File Download Using PHP?

Application des téléchargements de fichiers avec PHP

Lors de la navigation vers une page Web, comment pouvons-nous forcer le téléchargement d'un fichier à l'aide de PHP ?

Solution :

PHP fournit une fonction appelée readfile() à cet effet. En configurant les en-têtes et en utilisant readfile(), nous pouvons déclencher des téléchargements.

Mise en œuvre :

  1. Configurer les en-têtes :
    Définissez les en-têtes suivants pour inviter le download :

    header('Content-Type: application/octet-stream');
    header("Content-Transfer-Encoding: Binary"); 
    header("Content-disposition: attachment; filename=\"" . basename($file_url) . "\""); 
    Copier après la connexion
    • Content-Type : Spécifie le type de fichier (par exemple, application/zip pour les fichiers ZIP).
    • Content- Transfer-Encoding : Garantit que les données binaires sont transférées avec précision.
    • Content-disposition : Définit l'option « pièce jointe » pour lancer un téléchargement et spécifie le nom du fichier à l'aide de la fonction basename() pour extraire le nom du fichier de l'URL.
  2. Utilisez readfile() :
    Utilisez readfile() pour lire le contenu du fichier et envoyez-les au navigateur :

    readfile($file_url); 
    Copier après la connexion
  3. Exemple :
    Pour télécharger un fichier nommé "go.exe" depuis "http://exemple .com/go.exe", utilisez le code suivant :

    $file_url = 'http://example.com/go.exe';
    header('Content-Type: application/octet-stream');
    header("Content-Transfer-Encoding: Binary"); 
    header("Content-disposition: attachment; filename=\"" . basename($file_url) . "\""); 
    readfile($file_url); 
    Copier après la connexion

Supplémentaire Notes :

  • Assurez-vous de définir l'en-tête Content-Type approprié en fonction du type de fichier.
  • Le déclenchement d'un téléchargement avec l'en-tête (emplacement) peut entraîner un arrêt de l'exécution. au lieu d'une redirection de page.

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