欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

header - thinkphp如何实现弹窗下载

程序员文章站 2022-05-20 21:01:21
...
header("Pragma: public");
header("Cache-control: max-age=".$expire);

//header('Cache-Control: no-store, no-cache, must-revalidate');
header("Expires: " . gmdate("D, d M Y H:i:s",time()+$expire) . "GMT");
header("Last-Modified: " . gmdate("D, d M Y H:i:s",time()) . "GMT");
header("Content-Disposition: attachment; filename=".$showname);
header("Content-Length: ".$length);
header("Content-type: ".$type);
header('Content-Encoding: none');
header("Content-Transfer-Encoding: binary" );
if($content == '' ) {
readfile($filename);
}else {
echo($content);
}
exit();

这是http里面的一段代码,可是我用它只能读出到浏览器中。请问有什么方法点击链接如“下载”便出现一个弹框然后自己输入保存名字存起来呢?

回复内容:

header("Pragma: public");
header("Cache-control: max-age=".$expire);

//header('Cache-Control: no-store, no-cache, must-revalidate');
header("Expires: " . gmdate("D, d M Y H:i:s",time()+$expire) . "GMT");
header("Last-Modified: " . gmdate("D, d M Y H:i:s",time()) . "GMT");
header("Content-Disposition: attachment; filename=".$showname);
header("Content-Length: ".$length);
header("Content-type: ".$type);
header('Content-Encoding: none');
header("Content-Transfer-Encoding: binary" );
if($content == '' ) {
readfile($filename);
}else {
echo($content);
}
exit();

这是http里面的一段代码,可是我用它只能读出到浏览器中。请问有什么方法点击链接如“下载”便出现一个弹框然后自己输入保存名字存起来呢?

header("Content-type: application/octet-stream;");

或者修改 httpd 的 mime.types 里面对应的文件类型为 application/octet-stream

相关标签: php 下载 header