这篇文章主要介绍了php实现文件下载简单示例,需要的朋友可以参考下
复制代码 代码如下:
public function downloads($name){
$name_tmp = explode(_,$name);
$type = $name_tmp[0];
$file_time = explode(.,$name_tmp[3]);
$file_time = $file_time[0];
$file_date = date(y/md,$file_time);
$file_dir = site_path./data/uploads/$type/$file_date/;
if (!file_exists($file_dir.$name)){
header(content-type: text/html; charset=utf-8);
echo file not found!;
exit;
} else {
$file = fopen($file_dir.$name,r);
header(content-type: application/octet-stream);
header(accept-ranges: bytes);
header(accept-length: .filesize($file_dir . $name));
header(content-disposition: attachment; filename=.$name);
echo fread($file, filesize($file_dir.$name));
fclose($file);
}
}
示例2:代码实现文件下载
一般实现下载都是调用url来下载,,但是遇到ie能识别打开的文件就不能用这种方式了,比如下载一个图片、html网页等,这时就需要编程来实现,以下php代码可以解决:
复制代码 代码如下:
if( empty($_get['filename'])|| empty($_get['filedir'])|| empty($_get['fileid'])){
echo''; exit();
}
$file_name=$_get['filename'];
$file_dir=$_get['filedir'];
$fileid=$_get['fileid'];
$file_dir = $file_dir./;
if (!file_exists($file_dir.$file_name)) { //检查文件是否存在
echo 文件找不到;
exit;
} else {
$file = fopen($file_dir . $file_name,r); // 打开文件
// 输入文件标签
header(content-type: application/octet-stream);
header(accept-ranges: bytes);
header(accept-length: .filesize($file_dir . $file_name));
header(content-disposition: attachment; filename= . $file_name);
// 输出文件内容
echo fread($file,filesize($file_dir . $file_name));
fclose($file);
exit();
}
?>