【发布时间】:2016-06-07 20:19:39
【问题描述】:
我正在尝试使用以下函数在 php 中上传文件:
public function fileUpload($FILES){
$num_of_uploads = 1;
$max_file_size = 1048576; //can't be larger than 1 MB
$T = array ();
foreach($_FILES["file"]["error"] as $key=>$value){
if($_FILES["file"]["name"][$key] != ""){
if($value == UPLOAD_ERR_OK){
$v = array ();
$origfilename = $_FILES["file"]["name"][$key];
$filename = explode(".", $_FILES["file"]["name"][$key]);
$filenameext = $filename[count($filename) - 1];
$v['name'] = $filename[0];
$v['extension'] = $filename[1];
$v['type'] = $_FILES["file"]["type"][$key];
unset($filename[count($filename) - 1]);
$filename = implode(".", $filename);
$filename = "file__" . time() . "." . $filenameext;
if($_FILES["file"]["size"][$key] < $max_file_size){
$v['content'] = file_get_contents($_FILES["file"]["tmp_name"][$key]);
$T[] = $v;
}else{
throw new Exception($origfilename . " file size inaccepted!<br />");
}
}else{
throw new Exception($origfilename . " Error of upload <br />");
}
}
}
return $T;
}
此函数适用于 txt 类型,但当我测试 pdf、gif 或 jpg 时,它会返回损坏的文件。
【问题讨论】:
-
检查 php.ini 文件的最大文件上传大小和最大帖子大小。确保上传大小不大于该大小
-
我对文件大小没有问题,我正在使用 70Ko 文件进行测试,但它不工作
-
你遇到了什么错误?
-
我没有报错,但是下载的时候文件损坏了
-
尝试直接从上传位置访问上传的文件。在文件下载期间,您可能没有正确设置标题。由于该文件没有正确下载/打开。
标签: php file-upload