<?phpheader("content-type:text/html;charset=utf8");//获取数据信息$data = $_FILES;//循环遍历的方式取到单个的数组foreach ($data as $key=>$val){ ???$arr = $val;}//判断一下是不是有效的文件if(!is_array($arr) || empty($arr)){ ???echo "无效的文件";die;}//获取后缀if(!empty($arr[‘name‘])) { ???$info = pathinfo($arr[‘name‘]); ???$st = $info[‘dirname‘]; ???$ext = $info[‘extension‘];}//判断一下错误类型switch ($arr[‘error‘]){ ???case 1: echo "上传的文件超过了 php.ini 中 upload_max_filesize选项限制的值。";die;break; ???case 2: echo "上传文件的大小超过了 HTML 表单中 MAX_FILE_SIZE 选项指定的值。";die;break; ???case 3: echo "文件只有部分被上传。";die;break; ???case 4: echo "没有文件被上传。";die;break; ???case 6: echo "找不到临时文件夹。";die;break; ???case 7: echo "文件写入失败。";die;break;}//设置一下允许文件上传的类型$types = array(‘image/gif‘,‘image/jpeg‘,‘image/jpg‘,‘image/pjpeg‘,‘image/x-png‘,‘image/png‘);//设置一下允许文件上传的大小$sizes = 204800; ?//小于200kbif(!in_array($arr[‘type‘],$types)){ ???echo "文件类型不被允许";}if($arr[‘size‘]>$sizes){ ???echo "文件太大了";die;}//判断文件目录是不是存在if(!is_dir(‘./upload‘)){ ???mkdir(‘upload‘);}// 判断当期目录下的 upload 目录是否存在该文件// 如果没有 upload 目录,你需要创建它,upload 目录权限为 777if (file_exists("upload/" . $arr["name"])){ ???echo $arr["name"] . " 文件已经存在。 ";die;}else{ ???// 如果 upload 目录不存在该文件则将文件上传到 upload 目录下 ???$path = "upload/" .$arr[‘name‘].$st.$ext; ?//路径 ???move_uploaded_file($arr["tmp_name"],$path);}echo $path;
面向对象---封装文件上传思路
原文地址:https://www.cnblogs.com/hopelooking/p/9037878.html