大尺寸的文件不能用php下载

时间:2013-10-23 20:26:15

标签: php download

我有以下文件下载文件。

function download(){
        $this->file = $this->getFile();
        if($this->filesize <= 0 || $this->filesize == null){
            echo $this->filesize;
        } else {
           set_time_limit(0);

            header('Content-Description: File Transfer');
            header('Content-type:'.$this->contenttype);
            header('Content-Disposition: attachment; filename='.$this->filename.'.'.$this->extension);
            header('Content-Transfer-Encoding: binary');
            header('Expires: 0');
            header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
            header('Pragma: public');
            ob_end_clean();
            readfile('/upload/'.$this->fileUid.'.'.$this->extension);
        }

        die();
    }

当我尝试下载文件小尺寸(Kbs)文件下载成功,但如果文件大小很大,即大于1MB,则文件下载不正确,下载的文件大小为Kbs,文件也无法打开。任何人都可以在这方面帮助我,我试过ob_end_clean()但是没有用。请帮助我。 的问候,

1 个答案:

答案 0 :(得分:2)

正如我在您的问题评论中解决的那样,该文件在服务器上不存在。所以真正的问题是上传脚本。

你应该阅读Common Pitfalls Of File Upload我的猜测是upload_max_filesize,虽然它可能是这些陷阱中的任何一个,取决于服务器设置。