2017-04-18 5 views
1

私の場合は次のように: 私はクライアントのブラウザ(すべてのヘッダーとファイル名が設定されている)でダウンロードされるファイルを返すサーバーX上のルートを持っています。ファイルをパイプで

私はこのリクエストをPHPサーバーに送りたいので、サーバーXはエンドユーザーに公開されません。

基本的には、オリジナルのヘッダをすべて保持した状態で、元のリクエスト(すでにテスト済みで、意図したとおりに動作していた)をPHPサーバでパイプ処理します。

私はこれを達成するのに苦労しているので、提案は素晴らしいかもしれません。

ありがとうございます!明確にするため

http://serverX/downloadFile

結果は次のとおりです:名称 "myfile.docx" のダウンロードと のdocxファイル

たちは、ブラウザに行くと言うと、このURLを入力できます。

は、今私が欲しいものをパイプに私のPHPのサーバーを介してこの要求であるので、私はURLを入力するとき:

結果は以下のようになります。名前「myfile.docx」のダウンロードと のdocxファイル。

コード賢明な、私はそれがそのような何かを見て期待:

Echo Pipe_request($url); 

ありがとう!

+0

ちょっと、iveは位置ヘッダー、curlとfile_get_contentsメソッドを少し試してみました。私の問題は、パイプされたリクエストヘッダを保持しないということです。 – user69153

答えて

1

これは機能しますか:echo file_get_contents($url);

+0

ちょっと、デフォルトでは元のヘッダーをすべて保持していないので、毎回の変更で両方のソースを編集する必要があるので理想的ではないPHPの応答に再度入れなければなりません – user69153

+0

'ヘッダーを設定する$ http_response_header'配列? http://php.net/manual/en/reserved.variables.httpresponseheader.php –

+0

しかし、私は手動でヘッダを設定する必要はありません。テスト済みで動作しているサーバXにすでに設定されています。どういうわけか、リクエストをそのままパイプしてしまいますか? – user69153

1

元のサーバーから特定のファイルを要求し、すべての送信ヘッダーを取得し(cURLなどを使用して)、それらをコピーしてユーザーに送信することをお勧めします。

Take a look at this post, it might help you.

運のベスト!

+0

私は見てみましょう。ありがとうございました – user69153

関連する問題