0

我想强制浏览器下载由 php-script 创建的 RSS-Feed 中链接的所有文件。

因此我需要更改这些文件的 HTTP 标头并设置

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

(也许还有其他一些变化)。

目前我尝试使用下载脚本来设置这些参数。

然而,这种方法的缺点是,我必须链接到“download.php”而不是“target.file”,这在某种程度上误导了用户。此外,我必须向用户透露内部文件路径或使用相当多的 GET 变量。

如果可以更改生成 RSS-Feed 的脚本中的 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 回答