/** * 上传图片 * @author huajie <*****@*****.**> */ public function uploadPicture() { //TODO: 用户登录检测 /* 返回标准数据 */ $return = array('status' => 1, 'info' => '上传成功', 'data' => ''); /* 调用文件上传组件上传文件 */ $Picture = D('Picture'); $driver = modC('PICTURE_UPLOAD_DRIVER', 'local', 'config'); $driver = check_driver_is_exist($driver); $uploadConfig = get_upload_config($driver); $info = $Picture->upload($_FILES, C('PICTURE_UPLOAD'), $driver, $uploadConfig); //TODO:上传到远程服务器 /* 记录图片信息 */ if ($info) { $return['status'] = 1; empty($info['download']) && ($info['download'] = $info['file']); $return = array_merge($info['download'], $return); } else { $return['status'] = 0; $return['info'] = $Picture->getError(); } /* 返回JSON数据 */ $this->ajaxReturn($return); }
public function uploadAvatar() { $aUid = I('get.uid', 0, 'intval'); mkdir("./Uploads/Avatar/" . $aUid); $files = $_FILES; $setting = C('PICTURE_UPLOAD'); $driver = modC('PICTURE_UPLOAD_DRIVER', 'local', 'config'); $driver = check_driver_is_exist($driver); $uploadConfig = get_upload_config($driver); /* 上传文件 */ $setting['rootPath'] = './Uploads/Avatar'; $setting['saveName'] = array('uniqid', '/' . $aUid . '/'); $setting['savepath'] = ''; $setting['subName'] = ''; $setting['replace'] = true; //sae下 if (strtolower(C('PICTURE_UPLOAD_DRIVER')) == 'sae') { // $config[] C(require_once APP_PATH . 'Common/Conf/config_sae.php'); $Upload = new \Think\Upload($setting, C('PICTURE_UPLOAD_DRIVER'), array(C('UPLOAD_SAE_CONFIG'))); $info = $Upload->upload($files); $config = C('UPLOAD_SAE_CONFIG'); if ($info) { //文件上传成功,记录文件信息 foreach ($info as $key => &$value) { $value['path'] = $config['rootPath'] . 'Avatar/' . $value['savepath'] . $value['savename']; //在模板里的url路径 } /* 设置文件保存位置 */ $this->_auto[] = array('location', 'Ftp' === $driver ? 1 : 0, self::MODEL_INSERT); } } else { $Upload = new \Think\Upload($setting, $driver, $uploadConfig); $info = $Upload->upload($files); } if ($info) { //文件上传成功,不记录文件 $return['status'] = 1; if ($info['Filedata']) { $return = array_merge($info['Filedata'], $return); } if ($info['download']) { $return = array_merge($info['download'], $return); } /*适用于自动表单的图片上传方式*/ if ($info['file']) { $return['data']['file'] = $info['file']; $path = $info['file']['url'] ? $info['file']['url'] : "./Uploads/Avatar" . $info['file']['savename']; $src = $info['file']['url'] ? $info['file']['url'] : __ROOT__ . "/Uploads/Avatar" . $info['file']['savename']; // $return['data']['file']['path'] =; $return['data']['file']['path'] = $path; $return['data']['file']['src'] = $src; $size = getimagesize($path); $return['data']['file']['width'] = $size[0]; $return['data']['file']['height'] = $size[1]; $return['data']['file']['time'] = time(); } } else { $return['status'] = 0; $return['info'] = $Upload->getError(); } $this->ajaxReturn($return); }