例1
代码如下 复制代码
function download($file_url,$new_name=''){
if(!isset($file_url) || trim($file_url)==''){
return '500';
}
if(!file_exists($file_url)) { //检查文件是否存在
return '404';
}
$file_name=basename($file_url);
$file_type=explode('.',$file_url);
$file_type=$file_type[count($file_type)-1];
$file_name=trim($new_name=='')?$file_name:urlencode($new_name).'.'.$file_type;
$file_type=fopen($file_url,'r'); //打开文件
//输入文件标签
header(content-type: application/octet-stream);
header(accept-ranges: bytes);
header(accept-length: .filesize($file_url));
header(content-disposition: attachment; filename=.$file_name);
//输出文件内容
echo fread($file_type,filesize($file_url));
fclose($file_type);
}
例2
以下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();
}
?>
直接下载文件
代码如下 复制代码
小提示,header函数不只是可以实现文件下载,他还有很多的功能哦,如发送404,301等等状态信息都是可以的哦。
注意:在使用header之前我们必须在header之前没有任何输出,否则就会报错。
