ホームページ >バックエンド開発 >PHPチュートリアル >FTP ファイルをローカルに保存せずにブラウザに直接ストリーミングするにはどうすればよいですか?

FTP ファイルをローカルに保存せずにブラウザに直接ストリーミングするにはどうすればよいですか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-11-02 19:01:30402ブラウズ

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

ローカルに保存せずに FTP サーバーからブラウザにファイルをダウンロードします

この質問は、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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。