Maison >développement back-end >tutoriel php >Comment diffuser des fichiers FTP directement sur le navigateur sans les 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!