PHP大文件下载

文件大于1GB

               {       
                       
                        //Big File
                        $file = $identity . ".cleanpdb.tar.gz";
                        $path = $webdatapath . "seq/" . $file;
                       
                        if(!file_exists($path))
                        {
                                echo "Sorry" . '<br>';
                                echo $file . " not exist";
                                return false;
                        }
                               
                               
                        header("Content-type: "."application/gz");
                        header('Content-Disposition: attachment; filename="'.basename($path));
                       
                        header("Cache-control: public");
                        header("Pragma: public");
                        header("Content-Length: ".filesize($path));
                        ob_end_clean();
                       
                        $fp = fopen($path,'r');
                        $file_size = filesize($path);
                        $buffer=1024;
                        $cur_size=0;
                        while(!feof($fp) && $file_size>$buffer+$cur_size) {
                                $file_data = fread($fp, $buffer);
                                echo $file_data;
                                $cur_size += $buffer;
                        }
                        $file_data = fread($fp, $file_size-$cur_size);
                        echo $file_data;
                        fclose($fp);
                       

                }   

 

posted @ 2014-05-09 03:43  censai  阅读(214)  评论(0编辑  收藏  举报