この質問は、FTP サーバーからファイルを取得し、ユーザーのブラウザに直接送信する効率的な方法を求めています。
提供された PHP 関数 getFtpFileContents はファイルをメモリにフェッチしますが、ブラウザに送信するには後続の手動手順が必要です。中間ストレージの必要性をなくすには、出力バッファリング コードを削除するだけです:
<code class="php">ftp_get($conn_id, "php://output", $file, FTP_BINARY);</code>
Content-Length ヘッダーを含めたい場合は、最初にファイル サイズをクエリする必要があります:
<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>
堅牢な動作を実現するために、必ずエラー処理をコードに組み込んでください。
以上がFTP ファイルをローカルに保存せずにブラウザに直接ストリーミングするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。