/** * 文件上传 */ public function uploadFile () { $this->initUpTypes(); $file_size_max = (int)@$_REQUEST['max_size']; if ($file_size_max > 0) { self::$max_file_size = $file_size_max; } $callback = trim(@$_REQUEST['callback']); if (!empty($callback)) { self::$callback = $callback; } $printFormat = strtolower(trim(@$_REQUEST['printFormat'])); if (!empty($printFormat) && in_array($printFormat, array('json', 'html','proxy'))) { self::$printFormat = $printFormat; } $formFileName = trim(@$_REQUEST['formName']); if (!empty($formFileName)) { self::$formName = $formFileName; } $file = $_FILES[self::$formName]; if (empty($file)) { echo self::printResult('', 'resource'); //图片资源不可用 exit(); } $uploadPath = self::$uploadPath; if ($file["size"] == 0 || $file["error"] > 0) { echo self::printResult('', 'resource'); //图片资源不可用 exit(); } if (!is_uploaded_file($file['tmp_name'])){ echo self::printResult('', 'invalid'); //图片不存在 exit(); } if(self::$max_file_size < $file["size"]){ echo self::printResult('', 'size'); //检查文件大小 exit; } $fileType = $this->getFileType($file['name']); if(!in_array($fileType, self::$uptypes)){ echo self::printResult('', 'type'); //检查文件类型 exit; } if(!file_exists($uploadPath)) { mkdir($uploadPath,0777, true); //检查文件目录是否存在 } $filename=$file["tmp_name"]; $filePath=pathinfo($file["name"]);//返回文件路径的信息 $suffix = $filePath["extension"]; //文件后缀 $imgDate=date("YmdHis"); $name = $imgDate . rand("1000", "9999") . "." . $suffix; $fname = self::$urlPath.$name; if (file_exists($fname)){ echo self::printResult('', 'exsit'); //同名文件已经存在了 exit; } if(!move_uploaded_file ($filename, $uploadPath . "/" .$name)){ echo self::printResult('', 'move'); //移动文件出错 exit; } echo self::printResult($fname); }