Comment puis-je télécharger des fichiers depuis un serveur FTP directement vers un navigateur sans utiliser le stockage local ?

Mary-Kate Olsen
Libérer: 2024-11-04 15:01:01
original
659 Les gens l'ont consulté

How can I download files from an FTP server directly to a browser without using local storage?

Téléchargement de fichiers depuis des serveurs FTP vers des navigateurs sans stockage local

Lors du téléchargement de fichiers depuis des serveurs FTP à l'aide de scripts PHP, il est courant de stocker les fichiers temporairement sur le serveur web avant de les envoyer au navigateur de l'utilisateur. Cependant, cette approche peut s'avérer inefficace.

Obtenir le contenu du fichier sans le stocker

Pour envoyer directement un fichier au navigateur sans l'enregistrer sur le disque, supprimez simplement la mise en mémoire tampon de sortie fonctions (ob_start() et ob_get_contents()). Ce code enverra le fichier directement au flux de sortie :

<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, interrogez la taille du fichier en utilisant ftp_size() avant de télécharger :

<code class="php">$file_path = "remote/path/file.zip";
$size = ftp_size($conn_id, $file_path);</code>
Copier après la connexion

Ensuite, définissez les en-têtes appropriés et téléchargez le fichier :

<code class="php">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

Considérations supplémentaires

N'oubliez pas de gérer les erreurs et de fournir des informations appropriées sur le fichier dans les en-têtes de réponse, y compris le nom du fichier à télécharger. Pour un guide complet, reportez-vous aux ressources liées. En utilisant ces techniques, vous pouvez télécharger efficacement des fichiers depuis des serveurs FTP directement vers les navigateurs, sans avoir besoin de stockage temporaire.

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
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!