download.php内容如下:
<?php 
    //header("Content-Type:text/html;charset=utf-8");
    $path=$_GET['path'];
    if(!empty($path) and !is_null($path)){
        $filename=basename($path);
        //$filename = urlencode($filename);  
        //$filename = str_replace("+", "%20", $filename); 
        $filename=iconv('utf-8','gb2312',$filename); 
        
        $file=fopen($path,"r");
       header("Content-type:application/octet-stream");
        header("Accept-ranges:bytes");
header("Accept-length:".filesize($path));
header("Content-Disposition:attachment;filename=".$filename);
echo fread($file,filesize($path));
fclose($file);
exit;
    }
    
?>
为什么我用浏览器下下来的图片总是没有呢,用右键迅雷下载又可以下载到完整图片,不知道是怎么回事了,求帮助,是不是编码问题,还是header没写完全啊,求解!!

解决方案 »

  1.   

    试试看function downloads($name){   $file_dir=dirname(__FILE__).$name;
     
       if (!file_exists($file_dir)){      header("Content-type: text/html; charset=utf-8");      echo "File not found!";      exit;   } else {      $file = fopen($file_dir,"r");      Header("Content-type: application/octet-stream");      Header("Accept-Ranges: bytes");      Header("Accept-Length: ".filesize($file_dir));      Header("Content-Disposition: attachment; filename=1.png");      echo fread($file, filesize($file_dir));      fclose($file);  }}