ローカル ストレージを使用せずに、FTP サーバーからブラウザにファイルを直接ダウンロードするにはどうすればよいですか?

Mary-Kate Olsen
リリース: 2024-11-04 15:01:01
オリジナル
658 人が閲覧しました

How can I download files from an FTP server directly to a browser without using local storage?

ローカル ストレージを使用せずに FTP サーバーからブラウザにファイルをダウンロードする

PHP スクリプトを使用して FTP サーバーからファイルをダウンロードする場合、一般的にファイルはユーザーのブラウザに送信される前に、Web サーバー上に一時的に保存されます。ただし、このアプローチは非効率的になる可能性があります。

保存せずにファイルの内容を取得する

ファイルをディスクに保存せずにブラウザに直接送信するには、出力バッファリングを削除するだけです。関数 (ob_start() および ob_get_contents())。このコードは、ファイルを出力ストリームに直接送信します。

<code class="php">ftp_get($conn_id, "php://output", $file, FTP_BINARY);</code>
ログイン後にコピー

Content-Length ヘッダーの追加

Content-Length ヘッダーを含めるには、ファイル サイズをクエリします。ダウンロードする前に ftp_size() を使用します:

<code class="php">$file_path = "remote/path/file.zip";
$size = ftp_size($conn_id, $file_path);</code>
ログイン後にコピー

次に、適切なヘッダーを設定してファイルをダウンロードします:

<code class="php">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 サーバーからブラウザにファイルを直接効率的にダウンロードできます。

以上がローカル ストレージを使用せずに、FTP サーバーからブラウザにファイルを直接ダウンロードするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!