コード例 #1
0
ファイル: rs.php プロジェクト: rwifeng/php5-sdk
/**
 * func UploadFile(upToken, key, mimeType, localFile, customMeta, callbackParams string) => (data PutRet, code int, err Error)
 */
function QBox_RS_UploadFile($upToken, $tblName, $key, $mimeType, $localFile, $customMeta = '', $callbackParams = '')
{
    if ($mimeType === '') {
        $mimeType = 'application/octet-stream';
    }
    $entryURI = $tblName . ':' . $key;
    $action = '/rs-put/' . QBox_Encode($entryURI) . '/mimeType/' . QBox_Encode($mimeType);
    if ($customMeta !== '') {
        $action .= '/meta/' . QBox_Encode($customMeta);
    }
    $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']);
}
コード例 #2
0
ファイル: authtoken.php プロジェクト: rwifeng/php5-sdk
function QBox_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}";
}
コード例 #3
0
ファイル: rs.php プロジェクト: rwifeng/php5-sdk
 public function UnsetStyle($name)
 {
     $url = QBOX_PU_HOST . "/unstyle/" . $this->Bucket . "/name/" . QBox_Encode($name);
     return QBox_OAuth2_Call($this->Conn, $url);
 }
コード例 #4
0
ファイル: Client.php プロジェクト: rwifeng/php5-sdk
 /**
  * Generate the QBOX signature
  *
  * @param string $url Called URL
  * @param array  $parameters Parameters
  */
 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;
 }