当用户下载文件时,我想重命名它。
现在,我正在发送内容配置和内容长度标题,然后用fpassthru函数将文件发送给用户。
但是这种方法有三个问题:
有没有更好的方法在下载时重命名文件?
发布于 2013-06-07 21:38:46
自从提出这个问题以来,一段时间过去了,html5给了我们一种不同的方法:
<a href="someWeiredFileName.rar" download="coolFilename.rar">Download</a>attribute download (了解更多)定义了在客户端计算机上存储文件的默认filename (他仍然能够更改它!)。
注意:这不会影响服务器上的任何内容。
发布于 2009-11-26 01:31:52
<?php
header('Content-type: application/pdf');
// It will be called downloaded.pdf
header('Content-Disposition: attachment; filename="downloaded.pdf"');
// The PDF source is in original.pdf
readfile('original.pdf');
?> 伪码
while(1) {
Echo "..."; //<-- send this to the client
if (connection_status()!=0){
die;
}
}connection_status()取消浏览器,则可以停止PHP脚本发布于 2009-11-26 01:50:34
对于第三点,您可以尝试使用HTTP范围头。
如果用户有一个具有简历功能的下载客户端,它应该将这些头发送到您的脚本中,您可以使用该脚本精确地确定要发送的文件的哪个部分。
https://stackoverflow.com/questions/1801076
复制相似问题