Maison > développement back-end > tutoriel php > Comment télécharger directement des fichiers depuis FTP vers le navigateur de l'utilisateur en PHP sans stockage sur disque ?

Comment télécharger directement des fichiers depuis FTP vers le navigateur de l'utilisateur en PHP sans stockage sur disque ?

Susan Sarandon
Libérer: 2024-11-02 12:03:30
original
577 Les gens l'ont consulté

How to Directly Download Files from FTP to User's Browser in PHP without Disk Storage?

Téléchargement de fichiers via un script PHP depuis FTP vers un navigateur sans stockage sur disque

En utilisant PHP, les fichiers peuvent être récupérés efficacement à partir de serveurs FTP. Cependant, que se passe-t-il si l'objectif est de livrer directement le fichier au navigateur de l'utilisateur, en contournant le stockage sur disque local ?

Méthode sans tampon de sortie :

Pour y parvenir, il suffit supprimez les fonctions de mise en mémoire tampon de sortie (ob_start() et ses homologues) :

<code class="php">ftp_get($conn_id, "php://output", $file, FTP_BINARY);</code>
Copier après la connexion

Ajout d'un en-tête Content-Length :

Pour inclure l'en-tête Content-Length, suivez ces étapes :

  1. Interrogez la taille du fichier à l'aide de ftp_size().
  2. Définissez les en-têtes HTTP pour le type de contenu, la disposition et la longueur.
  3. Utilisez ftp_get() pour récupérez le fichier directement dans le navigateur.

Exemple de code :

<code class="php">$conn_id = ftp_connect("ftp.example.com");
ftp_login($conn_id, "username", "password");
ftp_pasv($conn_id, true);

$file_path = "remote/path/file.zip";
$size = ftp_size($conn_id, $file_path);

header("Content-Type: application/octet-stream");
header("Content-Disposition: attachment; filename=" . basename($file_path));
header("Content-Length: $size"); 

ftp_get($conn_id, "php://output", $file_path, FTP_BINARY);</code>
Copier après la connexion

Notes supplémentaires :

  • N'oubliez pas de gérer correctement les erreurs.
  • Pour un aperçu complet de la gestion des fichiers FTP, reportez-vous à la documentation « Liste et téléchargement des fichiers cliqués à partir de FTP ».

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