Home  >  Article  >  php教程  >  php如何实现对各种件下载

php如何实现对各种件下载

WBOY
WBOYOriginal
2016-06-13 10:47:551052browse

如果我们仅使用下载或者js的window.location = '文件路径/文件名',且文件类型为浏览器能识别的,那么浏览器将会直接打开文件而不是弹出下载框下载文件,比如'.txt','.conf','.bin'文件等。当然js的document.execCommand('SaveAs','mycodes.txt')(第二个参数为要保存为的文件名)也能实现下载,但它兼容性不好,firefox下无效。这时如果你的环境支持php语言,那么你可以用header()来实现文件下载:

先看简单实例:

同目录下有两个文件index.php,test.php与供下载文件adam.txt:

test.php文件内容:

$filename = $filename = 'adam.txt';
echo "下载";

?>

index.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"); 


摘自 adamboy
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn