0

PHPスクリプトによって作成されたRSSフィード内にリンクされているすべてのファイルをブラウザにダウンロードさせたいと思います。

したがって、これらのファイルの HTTP ヘッダーを変更して設定する必要があります

header("Content-Disposition: attachment; filename=$file");

(そしておそらく他のいくつかの変更も)。

現時点では、これらのパラメーターを設定するダウンロード スクリプトを使用してこれを実行しようとしています。

ただし、この方法の欠点は、"target.file" ではなく "download.php" にリンクする必要があることです。これは、ユーザーに誤解を与える可能性があります。さらに、内部ファイル パスをユーザーに公開するか、代わりに大量の GET 変数を使用する必要があります。

RSS フィードを生成するスクリプト内の HTTP ヘッダーを変更できれば、さらに良いでしょう。これを達成する方法はありますか?

4

1 に答える 1

1

RSS フィード内からヘッダーを変更することはできません。ただし、download.phpいくつかの書き換えマジックでその部分を非表示にすることができます。

RewriteEngine on
RewriteRule ^download/.*$ /download.php?file=$1 [L]

これにより、 で始まるすべての URL が/download/ダウンロード スクリプトを介して実行されます。

  • /img/foo.jpg- 通常のファイル
  • /download/img/foo.jpg- ダウンロードを強制する

PHP がなくても同様のことができます。

RewriteEngine on
RewriteRule ^download/.*$ /$1 [L]

<Location /download>
    Header add Content-Disposition "attachment"
</Location>
于 2012-04-09T23:04:08.943 に答える