PHP实现文件的下载,首先需要通过 header() 函数向Apache服务器发送一些标识信息,告诉Apache要下载的文件的路径,名称,类型等信息,最后再利用文件读写函数来读取文件内容并输出。
下面来看一例子:
<?php
$file = 'images/test.jpg';
if(is_file($file)) {
header("Content-Type: application/octet-stream");
header("Content-Disposition: attachment; filename=".basename($file));
ob_clean();
readfile($file);
exit;
}else{
echo "文件不存在!";
exit;
}
?>
运行结果如下:
注意:
1、当文件为二进制流,不知道下载文件类型的时候,Content-Type 使用application/octet-stream
2、ob_clean() 函数的作用是清空输出缓冲区,若不使用该函数,则文件下载后照片无法正常打开。
下面来看一例子:
<?php
$file = 'images/test.jpg';
if(is_file($file)) {
header("Content-Type: application/octet-stream");
header("Content-Disposition: attachment; filename=".basename($file));
ob_clean();
readfile($file);
exit;
}else{
echo "文件不存在!";
exit;
}
?>
运行结果如下:
注意:
1、当文件为二进制流,不知道下载文件类型的时候,Content-Type 使用application/octet-stream
2、ob_clean() 函数的作用是清空输出缓冲区,若不使用该函数,则文件下载后照片无法正常打开。