public function put($files) { $ret = array(); $HttpReuqst = new Request('http://up.qiniu.com', 'POST'); foreach ($files as $fileName => $filePath) { $newName = md5(microtime()); $ext = substr($fileName, strrpos($fileName, '.') + 1); //post字段 $fields = array('token' => $this->token, 'key' => $newName . '.' . $ext); $uploadFile = array(); $uploadFile[$fileName] = $filePath; $HttpReuqst->setPostFields($fields); $HttpReuqst->setPostFiles($uploadFile); $response = $HttpReuqst->send(); if ($response->getStatus() == 200) { $body = $response->getBody(); $body = json_decode($body, true); $ret[$fileName] = $this->policy->getURL($body['key']); } } return $ret; }
/** * Creates a new Request from a specified array. * * @param array $request Request represented as an array. * * @return Request A new Request from specified array. */ public static function fromArray(array $request) { $requestObject = new Request($request['method'], $request['url'], isset($request['headers']) ? $request['headers'] : array()); if (!empty($request['post_fields']) && is_array($request['post_fields'])) { $requestObject->setPostFields($request['post_fields']); } if (!empty($request['post_files']) && is_array($request['post_files'])) { foreach ($request['post_files'] as $file) { $requestObject->addPostFile($file); } } if (!empty($request['body'])) { $requestObject->setBody((string) $request['body']); } return $requestObject; }