欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

php实现文件下载简单示例(代码实现文件下载)

程序员文章站 2023-11-25 17:06:40
复制代码 代码如下:public function downloads($name){$name_tmp = explode("_",$name);$type = $nam...

复制代码 代码如下:

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'<script> alert("非法连接 !"); location.replace ("index.php") </script>'; 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();
}
?>