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 :
ftp_get($conn_id, "php://output", $file, FTP_BINARY);
If vous souhaitez inclure l'en-tête Content-Length, il faut d'abord interroger la taille du fichier :
$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);
N'oubliez pas d'incorporer la gestion des erreurs dans votre code pour un fonctionnement robuste.
Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.
Copyright© 2022 湘ICP备2022001581号-3