Maison  >  Article  >  développement back-end  >  Comment puis-je télécharger des fichiers d'un serveur FTP directement vers un navigateur à l'aide de PHP ?

Comment puis-je télécharger des fichiers d'un serveur FTP directement vers un navigateur à l'aide de PHP ?

Patricia Arquette
Patricia Arquetteoriginal
2024-11-03 14:43:301006parcourir

How Can I Download Files from an FTP Server Directly to a Browser Using PHP?

Téléchargement de fichiers du serveur FTP vers le navigateur avec l'en-tête Content-Length

Vous pouvez télécharger un fichier directement sur le navigateur de l'utilisateur sans le stocker sur le serveur en supprimant la mise en mémoire tampon de sortie du code.

<code class="php">ftp_get($conn_id, "php://output", $file, FTP_BINARY);</code>

Pour ajouter l'en-tête Content-Length, vous devrez d'abord obtenir la taille du fichier en utilisant ftp_size():

<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>

N'oubliez pas d'inclure la gestion des erreurs pour une solution complète.

Contexte supplémentaire

Référez-vous aux ressources ci-dessous pour plus d'informations sur la gestion des fichiers FTP :

  • Répertorier et télécharger les fichiers cliqués depuis FTP
  • Fonctions PHP FTP : ftp_get

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