如果我们仅使用下载或者js的window.location = '文件路径/文件名',且文件类型为浏览器能识别的,那么浏览器将会直接打开文件而不是弹出下载框下载文件,比如'.txt','.conf','.bin'文件等。当然js的document.execcommand('saveas','mycodes.txt')(第二个参数为要保存为的文件名)也能实现下载,但它兼容性不好,firefox下无效。这时如果你的环境支持php语言,那么你可以用header()来实现文件下载:
先看简单实例:
同目录下有两个文件index.php,test.php与供下载文件adam.txt:
test.php文件内容:
立即学习“PHP免费学习笔记(深入)”;
$filename = $filename = 'adam.txt';
echo "下载";
?>
index.php文件内容:
立即学习“PHP免费学习笔记(深入)”;
$filename = $_REQUEST['filename'];
header("Content-Type:text/plain");
header('Content-Disposition:attachment;filename='.$filename);
header('Content-Transfer-Encodeing: binary');
readfile($filename);
?>
当你打开test.php并单击下载时将实现对adam.txt文件的下载。
同理,我们也可以实现对.jpg,.zip,.rar,.pdf等文件实现下载,这时只需把index.php中的header("Content-Type:text/plain")稍做修改,比如下面所示
header("Content-Type:application/zip");//zip或者rar
header("Content-Type:application/pdf");//pdf
header("Content-Type:image/jpeg");//图片
header("Content-Type:audio/mpeg");
PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号