Maison >développement back-end >tutoriel php >Comment diffuser des fichiers FTP directement sur le navigateur sans les enregistrer localement ?

Comment diffuser des fichiers FTP directement sur le navigateur sans les enregistrer localement ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-11-02 19:01:30397parcourir

How to Stream FTP Files Directly to the Browser Without Saving Locally?

Télécharger un fichier du serveur FTP vers le navigateur sans enregistrer localement

Cette question cherche un moyen efficace de récupérer un fichier à partir d'un serveur FTP et de l'envoyer directement au navigateur de l'utilisateur , en contournant le stockage local et les redirections.

La fonction PHP fournie, getFtpFileContents, récupère le fichier en mémoire mais nécessite des étapes manuelles ultérieures pour l'envoyer au navigateur. Pour supprimer le besoin de stockage intermédiaire, supprimez simplement le code de mise en mémoire tampon de sortie :

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

Si vous souhaitez inclure l'en-tête Content-Length, il est nécessaire d'interroger d'abord la taille du fichier :

<code class="php">$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'intégrer la gestion des erreurs dans votre code pour un fonctionnement robuste.

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