您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息

php利用header实现文件下载代码

2025/11/17 16:03:44发布21次查看
在php中如果要实现下载如图片文件,php文件,html文件这些文件我们如果在网站上点击都是直接打开了,如果要实现下载我们可以利用php header函数来操作,下面我来介绍利用php header函数实现文件下载的实例,有需要的朋友可参考。
例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之前没有任何输出,否则就会报错。
该用户其它信息

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录 Product