/** * 检查上传头像信息 * @param string $uploadformname 上传文件的表单名 * @return boolean 不合格时返回false,错误信息见$message */ public function check($uploadformname) { //获取上传的文件 $upfile = isset($_FILES[$uploadformname]) ? $_FILES[$uploadformname] : null; if (empty($upfile)) { self::$message = '没有提交图像'; return false; } if (!is_uploaded_file($upfile['tmp_name'])) { self::$message = '图片不存在'; return false; } if ($upfile['error'] != 0) { self::$message = '上传文件出错(' . $upfile['error'] . ')'; return false; } //图像类型 $imgtype = filesize($upfile['tmp_name']) > 11 ? exif_imagetype($upfile['tmp_name']) : false; if (!$imgtype) { self::$message = '上传文件格式非图片'; return false; } if (!in_array($imgtype, $this->_extension)) { self::$message = '上传的图片格式不允许'; return false; } $size = getimagesize($upfile['tmp_name']); if (!empty($this->_width) && $size[0] > $this->_width) { self::$message = '图片宽度超出限制'; return false; } if (!empty($this->_height) && $size[1] > $this->_height) { self::$message = '图片高度超出限制'; return false; } if (!empty($this->_minsize) && $upfile['size'] < $this->_minsize) { self::$message = '图片文件太小'; return false; } if ($upfile['size'] > $this->_maxsize) { self::$message = '图片文件太大'; return false; } //处理存储文件名 if (empty($this->_savename)) { $this->_savename = md5(uniqid(microtime(), true)); } $typeArr = array_flip($this->_extension); //加上文件名后缀 $this->_savename .= '.' . $typeArr[$imgtype]; return true; }