>  기사  >  백엔드 개발  >  header - thinkphp如何实现弹窗下载

header - thinkphp如何实现弹窗下载

WBOY
WBOY원래의
2016-06-06 20:52:141048검색

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

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.