我使用mod_xsendfile在网页上下载/显示文件。它工作正常,我只是想知道在发送之前是否有任何方法可以修改文件名?
我猜我必须暂时复制/重命名该文件来管理它?这可能不适用于大型文件(由于超时或至少等待时间)。
我问的原因是我公开共享文件,这些文件以共享文件名称的用户为前缀 - 因此代替videofile.mp4
它会说username__videofile.mp4
- 没什么大不了的,不像下载者不知道谁共享文件,如果文件名只是原始文件名,那只会稍微容易一点。
我猜测临时复制/重命名是唯一的方法吗?
答案 0 :(得分:4)
无需进行临时复制或重命名。 就这样做:
header("X-Sendfile: {$sourceFilename}");
header("Content-Type: application/octet-stream");
header("Content-Disposition: attachment; filename=\"{$outFilename}\"");
将$outFilename
设置为您想要的任何名称。
它适用于Apache 2.4.9。