/** * 文件上传 * @param array $files 要上传的文件列表(通常是$_FILES数组) * @param array $setting 文件上传配置 * @param string $driver 上传驱动名称 * @param array $config 上传驱动配置 * @return array 文件上传成功后的信息 */ public function upload($files, $setting, $driver = 'Local', $config = null) { /* 上传文件 */ $setting['callback'] = array($this, 'isFile'); $Upload = new \COM\Upload($setting, $driver, $config); $info = $Upload->upload($files); /* 设置文件保存位置 */ $this->_auto[] = array('location', 'Ftp' === $driver ? 1 : 0, self::MODEL_INSERT); if ($info) { //文件上传成功,记录文件信息 foreach ($info as $key => &$value) { /* 已经存在文件记录 */ if (isset($value['id']) && is_numeric($value['id'])) { continue; } /* 记录文件信息 */ if ($this->create($value) && ($id = $this->add())) { $value['id'] = $id; } else { //TODO: 文件上传成功,但是记录文件信息失败,需记录日志 unset($info[$key]); } } return $info; //文件上传成功 } else { $this->error = $Upload->getError(); return false; } }
public function upload() { if (IS_POST) { //又拍云 // $config = array( // 'host' => 'http://v0.api.upyun.com', //又拍云服务器 // 'username' => 'zuojiazi', //又拍云用户 // 'password' => 'thinkphp2013', //又拍云密码 // 'bucket' => 'thinkphp-static', //空间名称 // ); // $upload = new \COM\Upload(array('rootPath' => 'image/'), 'Upyun', $config); //百度云存储 $config = array('AccessKey' => '3321f2709bffb9b7af32982b1bb3179f', 'SecretKey' => '67485cd6f033ffaa0c4872c9936f8207', 'bucket' => 'test-upload', 'size' => '104857600'); $upload = new \COM\Upload(array('rootPath' => './Uploads/bcs'), 'Bcs', $config); $info = $upload->upload($_FILES); } else { $this->display(); } }