php实现文件下载的函数,具体函数代码如下:
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);
}
注意以上检查文件是否存在是通过file_exists这个函数的,但这个函数只能检查相对于当前服务器网站目录里面的文件,如果是互联网上的远程文件,可以通过本站如下这篇文章:php判断远程文件是否存在的办法