我有以下文件下载文件。
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()
但是没有用。请帮助我。
的问候,
答案 0 :(得分:2)
正如我在您的问题评论中解决的那样,该文件在服务器上不存在。所以真正的问题是上传脚本。
你应该阅读Common Pitfalls Of File Upload我的猜测是upload_max_filesize
,虽然它可能是这些陷阱中的任何一个,取决于服务器设置。