修改通过mod_xsendfile

时间:2016-12-24 10:17:17

标签: php apache x-sendfile

我使用mod_xsendfile在网页上下载/显示文件。它工作正常,我只是想知道在发送之前是否有任何方法可以修改文件名?

我猜我必须暂时复制/重命名该文件来管理它?这可能不适用于大型文件(由于超时或至少等待时间)。

我问的原因是我公开共享文件,这些文件以共享文件名称的用户为前缀 - 因此代替videofile.mp4它会说username__videofile.mp4 - 没什么大不了的,不像下载者不知道谁共享文件,如果文件名只是原始文件名,那只会稍微容易一点。

我猜测临时复制/重命名是唯一的方法吗?

1 个答案:

答案 0 :(得分:4)

无需进行临时复制或重命名。 就这样做:

header("X-Sendfile: {$sourceFilename}");
header("Content-Type: application/octet-stream");
header("Content-Disposition: attachment; filename=\"{$outFilename}\"");

$outFilename设置为您想要的任何名称。 它适用于Apache 2.4.9。