0

今日はすでにこの質問をしましたが、今回はJavascriptがうまくいかなかったので、PHPでこれを達成できるかどうか知りたいです。

別のサーバー上のファイルへのリンクがあります。このリンクをユーザーに提供すると、そのサーバーからそのファイルをダウンロードするためにヘッダーがプッシュされます。

これらのヘッダーとファイルをキャプチャして、ダウンロードをユーザーにリダイレクトする方法はありますか? ダウンロードのファイル名は常に「file.zip」であるため、これを実行してファイル名を変更できるようにしたいと思います。

これはPHPで可能ですか?

助けてくれてありがとう。

4

3 に答える 3

2

curlを使用してファイルをサーバーにダウンロードし、 ( Content-Dispositionヘッダーを使用して) 正しく提供できます。HTTP を使用している限り、ヘッダーだけを送信して別のサーバーにコンテンツを直接クライアントにストリーミングさせる方法はありません。

于 2009-02-12T13:47:27.320 に答える
1

おそらく、次のようなスクリプトを使用できます。

<?php
  header("HTTP/1.1 301 Moved Permanently");
  header("Location: http://www.example.com/the_path/file.zip");
  header('Content-Disposition: attachment; filename="alternate_filename.zip"');
  exit();
?>
于 2009-02-12T13:59:07.463 に答える
1

あなたはこれを行うことができ、いくつかの方法でそれを行うことができます.

1) (単純) ファイルをサーバーにコピーし、名前を変更します。ダウンロード リンクをこのコピーに向けてください。
2) (難しい) と呼ばれるスタブ php ファイルを作成し、php 内のリモート サーバーからファイルを読み取り、コンテンツをスクリプト出力にストリーミングします。これには、適切なヘッダーなどを設定するだけでなく、PHP を介して解析するように Web サーバーを設定する必要があります。

真剣に、オプション 1 を使用します (コンテンツを提供する法的権利があると仮定します)。

于 2009-02-12T13:48:54.603 に答える