この質問は、FTP サーバーからファイルを取得し、ユーザーのブラウザに直接送信する効率的な方法を求めています。
提供されている PHP 関数 getFtpFileContents はファイルをメモリにフェッチしますが、それをブラウザに送信するには後続の手動手順が必要です。中間ストレージの必要性をなくすには、出力バッファリング コードを削除するだけです:
ftp_get($conn_id, "php://output", $file, FTP_BINARY);
If Content-Length ヘッダーを含めたい場合は、最初にファイル サイズをクエリする必要があります:
$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);
堅牢な動作を実現するために、必ずエラー処理をコードに組み込んでください。
免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。
Copyright© 2022 湘ICP备2022001581号-3