/** * [文件上传方法] * @param [Array] $file [要上传的文件,数组中包含五要素] * @param [String] $path [文件移动路径] * @param [String] $mime [允许上传的类型] * @param [Int] $mixsize [文件大小] * @return [String] [新的文件名称] */ public static function uploadsfile($file, $path, $mime, $mixsize = 1000000) { // 验证类型 与元素长度 if (!is_array($file) || count($file) != 5) { self::$error = '上传失败.. 文件不合理.. '; return false; } // 判断系统错误 switch ($file['error']) { case '1': //超出服务器限定大小 self::$error = '上传失败,文件超出服务器限定大小'; return false; case '2': //超出自限定大小 self::$error = '上传失败,文件超出浏览器限定大小'; return false; case '3': //文件只上传了一部分 self::$error = '上传失败,文件只上传了一部分...'; return false; case '4': //用户没有选中文件 self::$error = '上传失败,请选择文件...'; return false; case '6': //找不到临时文件夹 //找不到临时文件夹 case '7': //服务器错误 文件无法写入 self::$error = '服务器错误,请联系管理员..'; return false; } // 文件类型鉴定 if (strpos($mime, $file['type']) === false) { self::$error = '上传类型不合法,请满足:' . $mime; return false; } // 验证文件大小是否符合当前设定 if ($file['size'] > $mixsize) { self::$error = '文件超出上传大小限定... 当前允许最大值:' . ceil($mixsize / 1000) . 'Kb'; return false; } //获取名字 $filename = self::getRandomName($file['name']); // 移动到指定目录 if (move_uploaded_file($file['tmp_name'], $path . '/' . $filename)) { // 上传成功 return $filename; } else { self::$error = '上传失败.. 文件无法保存.. '; return false; } }