Exemple #1
0
/**
 * func UploadFile(upToken, key, mimeType, localFile, customMeta, callbackParams string) => (data PutRet, code int, err Error)
 * 通过uptoken上传一个文件
 */
function UploadFile($upToken, $bucketName, $key, $mimeType, $localFile, $customMeta = '', $callbackParams = '', $rotate = '')
{
    if ($mimeType === '') {
        $mimeType = 'application/octet-stream';
    }
    $entryURI = $bucketName . ':' . $key;
    $action = '/rs-put/' . \QBox\Encode($entryURI) . '/mimeType/' . \QBox\Encode($mimeType);
    if ($customMeta !== '') {
        $action .= '/meta/' . \QBox\Encode($customMeta);
    }
    if ($rotate !== '') {
        $action .= '/rotate/' . $rotate;
    }
    $params = array('action' => $action, 'file' => "@{$localFile}", 'auth' => $upToken);
    if ($callbackParams !== '') {
        if (is_array($callbackParams)) {
            $callbackParams = http_build_query($callbackParams);
        }
        $params['params'] = $callbackParams;
    }
    $response = \QBox\ExecuteRequest(QBOX_UP_HOST . '/upload', $params, \QBox\HTTP_METHOD_POST);
    //var_dump($response);
    $code = $response['code'];
    if ($code === 200) {
        return array($response['result'], 200, null);
    }
    return array(null, $code, $response['result']);
}
Exemple #2
0
function MakeAuthToken(array $params)
{
    global $QBOX_ACCESS_KEY, $QBOX_SECRET_KEY;
    if (isset($params['expiresIn'])) {
        $expiresIn = $params['expiresIn'];
        unset($params['expiresIn']);
    } else {
        $expiresIn = 3600;
    }
    $params['deadline'] = time() + $expiresIn;
    $signature = \QBox\Encode(json_encode($params));
    unset($params['deadline']);
    $params['expiresIn'] = $expiresIn;
    $digest = hash_hmac('sha1', $signature, $QBOX_SECRET_KEY, true);
    $encoded_digest = \QBox\Encode($digest);
    return "{$QBOX_ACCESS_KEY}:{$encoded_digest}:{$signature}";
}
Exemple #3
0
 public function UnsetStyle($name)
 {
     $url = QBOX_PU_HOST . "/unstyle/" . $this->Bucket . "/name/" . \QBox\Encode($name);
     return \QBox\OAuth2\Call($this->Conn, $url);
 }
Exemple #4
0
 /**
  * Generate the QBOX signature
  * @param string $url Called URL
  */
 private function generateQBOXSignature($url, $parameters)
 {
     $parsed_url = parse_url($url);
     $path = $parsed_url['path'];
     $data = $path;
     if (isset($parsed_url['query'])) {
         $data .= "?" . $parsed_url['query'];
     }
     $data .= "\n";
     if ($parameters) {
         if (is_array($parameters)) {
             $parameters = http_build_query($parameters);
         }
         $data .= $parameters;
     }
     $digest = \QBox\Encode(hash_hmac('sha1', $data, $this->access_token_secret, true));
     $digest = $this->access_token . ":" . $digest;
     return $digest;
 }