-1

問題があり、その解決策があるかどうかわかりません。

私の問題は、そのようなダウンロードリンクを持っていることです:

http://remotewebsite.com/file.zip

ファイルは私のものではない別の Web サイトでホストされています。たとえば、ユーザーが私のリンクにアクセスしたときのように、元のURLを知らなくてもユーザーにファイルをダウンロードしてもらいたい

http://mywebsite.com/file.zip

ファイルのダウンロードを開始します。

ファイルをホストする Web サイトとユーザーの間のトンネルであるかのように考えてください。たとえば、リモート Web サイトからユーザーが要求する各パケットのように、それは私を通過し、ユーザーに送信されます。

それを行う別の簡単な方法があるかどうかはわかりません。

ばかげているように聞こえたら申し訳ありませんが、うまくいくことを本当に願っています。

4

2 に答える 2

6

CURLorを使用してファイルのコンテンツを取得file_get_contentsし、対応するヘッダー詳細とともにブラウザーに出力するだけです。

header('Content-Description: File Transfer');
header('Content-Type: application/zip');
header('Content-Disposition: attachment; filename=file.zip');
header('Content-Transfer-Encoding: binary');
header('Expires: 0');
header('Cache-Control: must-revalidate');
header('Pragma: public');
ob_clean();
flush();
echo file_get_contents("http://remotewebsite.com/file.zip");
于 2013-03-07T16:48:46.200 に答える
1

URL 書き換えメカニズムを使用しfile.zipて、リモート サーバーから実際のファイルをダウンロードし、それをクライアントに提供する PHP スクリプトにすべての要求をルーティングできます。

使用するプラットフォーム (Apache / IIS) を指定すると、それを実現する方法の詳細な例を提供できます。

IIS 7 以降の場合、web.configファイルでこれを使用します。

<configuration>
<system.webServer>
    <rewrite>
        <rules>
            <rule name="file.zip" patternSyntax="ExactMatch" stopProcessing="true">
                <match url="file.zip" />
                <action type="Rewrite" url="download_zip.php" />
            </rule>
        </rules>
    </rewrite>
</system.webServer>
</configuration>

"download_zip.php"PHP コード "nauphal" を使用して、ここに貢献しました。

于 2013-03-07T16:52:10.827 に答える