充电_ing
2019-04-27 20:22
<?php function _upload($fileinfo, $ext=pathinfo($file['name'], PATHINFO_EXTENSION), $select_ext=array('jpg','jpeg','mp4','png','gif'), $max=1048576, $path='uploads', $flase=true, $hid=md5(uniqid(microtime(true),true)), $destination=$path.'/'.$hid.'.'.$ext) { if ($file['error']>0) { switch ($file['error']) { case 1: $ess='有错误发生! upload_err_ini_size 错误号为1 文件超过了php.ini 中 upload_max_filesize 限制的值'; break; case 2: $ess='有错误发生! upload_err_form_size 错误号为2 文件超过了html表单中max_file_size 限制的值'; break; case 3: $ess='有错误发生! upload_err_partial 其值为3 只有部分文件被上传'; break; case 4: $ess='有错误发生! upload_err_no_file 其值为4,没有文件被上传'; break; case 6: $ess='有错误发生! upload_err_no_tmp_dir 其值为6,找不到临时文件'; break; case 7: $ess='有错误发生! upload_err_cant_write 其值为7,文件写入失败'; break; case 8: $ess='有错误发生! upload_err_extension 其值为8,上传文件被PHP扩展程序中断'; } exit($ess); } //判断上传的扩展名是否为一个数组 if (!is_array($select_ext)) { exit('非法扩展名'); } //判断后缀是否符合要求 if (!in_array($ext,$select_ext)) { exit('上传格式不符合规定,请上传jpg,png,gif,mp4类型文件'); } //判断是否为真实的图片文件 if($flase){ if(!getimagesize($file['tmp_name'])){ exit('文件非法!'); } } //限制文件大小 if ($file['siez']>$max) { exit('文件不能超过2M'); }//如果不存在文件夹,则创建 if(!file_exists($path)){ mkdir($path,0777,true); chmod($paht,0777); } if (move_uploaded_file($file['tmp_name'],$destination)) { exit('文件'.$destination.'上传成功!'); }else{ exit('文件'.$destination.'上传失败!'); } return $destination; } ?>
找到答案了,给函数传参数不能传递哈希值:md5(uniqid(microtime(true),true));
以及$destination移到函数体内就好了
你不贴错误截图,如何排查
PHP实现文件上传与下载
43735 学习 · 328 问题
相似问题