解决方案 »

  1.   

        $name=$_GET['name'];
        $url=$_GET['url'];
        $filesize=filesize($url.$name);这三句要放在上面,否则 header("Content-Disposition:filename=".$name); 会拿不到$name导致出notice.改成这样if(!empty($_GET)){
        $name=$_GET['name'];
        $url=$_GET['url'];
        $filesize=filesize($url.$name);    header("Content-type: application/octet-stream ; charset=utf-8"); //输出类型 
        header("Content-Disposition:filename=".$name);
        header("Accept-Ranges: bytes"); //文件单位
        header("Accept-Length:".$filesize); //文件大小
        header("Content-Disposition: attachment; filename=".$name);//下载时显示的名字 
        $f=fopen($url.$name, "r");
        $buffer=1024;
        $downsize=0;
        $str="";
        while(!feof($f) && ($filesize-$downsize)>0){
            $downsize+=$buffer;
            echo fread($f,$buffer);
     
        }
        //echo $str;
        fclose($f);
     
    }