Heim >Backend-Entwicklung >PHP-Tutorial >pHP文件下载代码,求各位大神给看看那错哪了

pHP文件下载代码,求各位大神给看看那错哪了

WBOY
WBOYOriginal
2016-06-13 12:14:49892Durchsuche

pHP文件下载代码,求各位大神给看看那哪里错了
   //文件下载函数
   //$file_path  文件下载路径 
   //$file_name  文件名
   //$file_sub_dir 下载文件子路径
   function down_file($file_name,$file_sub_dir){
   //如果文件名字是中文,转码
   $file_name=iconv("utf-8", "gb-2312", $file_name);
   //绝对路径
   $file_path=$_SERVER["DOCUMENT_ROOT"].$file_sub_dir.$file_name;
   //打开文件
   if(!file_exists($file_path)){
      echo "文件不存在!";
      return;
   }
   $fp=fopen($file_path, "r");
   
   //获取文件大小
   $file_size=filesize($file_path);
   
   //返回的文件
   header("Content-type: application/octet-stream");
   //按照字节大小返回
   header("Accept-Ranges: bytes");
   //返回文件大小
   header("Accept-length: $file_size");
   //客户端弹出对话框,对应的文件名
   header("Content-Disposition: attachment; file_name=".$file_name);
   
   //向客户端回送数据
   
   $buffer=1024;
   //为了下载安全,做个文件字节读取技术器
   $file_count=0;
   //判断文件是否结束
   while (!feof($fp) && ($file_size-$file_count>0)){
        $file_data=fread($fp, $buffer);
        //读取了多少字节
        $file_count+=$buffer;
        //把部分数据传给浏览器
         echo $file_data;
   
   }
   //关闭文件
   fclose($fp);
   }
file_down("1.jpg","/test/");
?>
------解决思路----------------------
Warning: fopen(C:/AppServ/www/test/) [function.fopen]: failed to open stream: Permission denied in C:\AppServ\www\test\FileDownServer.php on line 16
说的很明确了!
Permission denied 中文释义:权限被拒绝

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn