public function testEncode() { $cases = array('abc' => 'YWJj', 'abc0=?e' => 'YWJjMD0_ZQ=='); foreach ($cases as $k => $v) { $v1 = Qiniu_Encode($k); $this->assertEquals($v, $v1); } }
function Qiniu_Sign($url) { //$info里面的url $setting = C('UPLOAD_SITEIMG_QINIU'); $duetime = NOW_TIME + 86400; //下载凭证有效时间 $DownloadUrl = $url . '?e=' . $duetime; $Sign = hash_hmac('sha1', $DownloadUrl, $setting["driverConfig"]["secrectKey"], true); $EncodedSign = Qiniu_Encode($Sign); $Token = $setting["driverConfig"]["accessKey"] . ':' . $EncodedSign; $RealDownloadUrl = $DownloadUrl . '&token=' . $Token; return $RealDownloadUrl; }
function Qiniu_Rio_Mkfile($self, $host, $key, $fsize, $extra) { $entry = $extra->Bucket . ':' . $key; $url = $host . '/rs-mkfile/' . Qiniu_Encode($entry) . '/fsize/' . $fsize; if (!empty($extra->MimeType)) { $url .= '/mimeType/' . Qiniu_Encode($extra->MimeType); } $ctxs = array(); foreach ($extra->Progresses as $prog) { $ctxs[] = $prog['ctx']; } $body = implode(',', $ctxs); return Qiniu_Client_CallWithForm($self, $url, $body, 'text/plain'); }
function Qiniu_Rio_Mkfile($self, $host, $key, $fsize, $extra) { $url = $host . '/mkfile/' . $fsize; if ($key !== null) { $url .= '/key/' . Qiniu_Encode($key); } if (!empty($extra->MimeType)) { $url .= '/mimeType/' . Qiniu_Encode($extra->MimeType); } $ctxs = array(); foreach ($extra->Progresses as $prog) { $ctxs[] = $prog['ctx']; } $body = implode(',', $ctxs); return Qiniu_Client_CallWithForm($self, $url, $body, 'application/octet-stream'); }
public function SignWithData($data) { $data = Qiniu_Encode($data); return $this->Sign($data) . ':' . $data; }
public function MakeRequest($url = '') { $ops = array($this->Mode); if (!empty($this->Text)) { $ops[] = 'text/' . Qiniu_Encode($this->Text); } if (!empty($this->Font)) { $ops[] = 'font/' . Qiniu_Encode($this->Font); } if (!empty($this->FontSize)) { $ops[] = 'fontsize/' . $this->FontSize; } if (!empty($this->Fill)) { $ops[] = 'fill/' . Qiniu_Encode($this->Fill); } if (!empty($this->Disslove)) { $ops[] = 'dissolve/' . $this->Disslove; } if (!empty($this->Gravity)) { $ops[] = 'gravity/' . $this->Gravity; } if (!empty($this->Dx)) { $ops[] = 'dx/' . $this->Dx; } if (!empty($this->Dy)) { $ops[] = 'dy/' . $this->Dy; } return $url . 'watermark/' . implode('/', $ops); }
function Qiniu_RS_URIMove($bucketSrc, $keySrc, $bucketDest, $keyDest) { return '/move/' . Qiniu_Encode("{$bucketSrc}:{$keySrc}") . '/' . Qiniu_Encode("{$bucketDest}:{$keyDest}"); }
/** * generate_access_token * @desc 生成 AccessToken * @param string $url * @param string $body * @return string */ function Qiniu_accessToken($url, $body) { $setting = C('UPLOAD_SITEIMG_QINIU'); $access_key = $setting["driverConfig"]["accessKey"]; $secret_key = $setting["driverConfig"]["secrectKey"]; $parsed_url = parse_url($url); $path = $parsed_url['path']; $access = $path; if (isset($parsed_url['query'])) { $access .= "?" . $parsed_url['query']; } $access .= "\n"; if ($body) { $access .= $body; } $digest = hash_hmac('sha1', $access, $secret_key, true); return $access_key . ':' . Qiniu_Encode($digest); }
<?php require_once "../../qiniu/http.php"; require_once "../../qiniu/auth_digest.php"; require_once "../../qiniu/utils.php"; $accessKey = ""; $secretKey = ""; $bucket = ""; $key = ""; $entry = "{$bucket}:{$key}"; $encodedEntry = Qiniu_Encode($entry); $apiHost = "http://iovip.qbox.me"; $apiPath = "/prefetch/{$encodedEntry}"; $requestBody = ""; $mac = new Qiniu_Mac($accessKey, $secretKey); $client = new Qiniu_MacHttpClient($mac); list($ret, $err) = Qiniu_Client_CallWithForm($client, $apiHost . $apiPath, $requestBody); if ($err !== null) { echo "failed\n"; var_dump($err); } else { echo "success\n"; }
<?php header("Content-Type:application/json"); require_once "../../lib/qiniu/rs.php"; require_once "../../lib/qiniu/utils.php"; require_once "../../qiniu_config.php"; Qiniu_SetKeys($Qiniu_AccessKey, $Qiniu_SecretKey); $putPolicy = new Qiniu_RS_PutPolicy($Qiniu_Public_Bucket); $saveBucket = $Qiniu_Public_Bucket; $saveKey = "test_2.mp4"; //转码指令 $putPolicy->PersistentOps = "avthumb/mp4|saveas/" + Qiniu_Encode($saveBucket + ":" + $saveKey); //转码队列 $putPolicy->PersistentPipeline = "jemy"; //转码结果通知地址 $putPolicy->PersistentNotifyUrl = "http://www.abc.com/fake/notifyURL"; $token = $putPolicy->Token(null); $respData = array("uptoken" => $token); $respBody = json_encode($respData); echo $respBody;
public static function getZipInfo($fileList = array(), $saveas = '') { require_once __DIR__ . '/../qiniu/http.php'; require_once __DIR__ . '/../qiniu/auth_digest.php'; require_once __DIR__ . '/../qiniu/utils.php'; $fops = 'mkzip/2'; $extraKey = null; // var_export($fileList); foreach ($fileList as $key => $value) { if (preg_match('/^http:\\/\\//', $value)) { if (is_int($key)) { $fops .= '/url/' . Qiniu_Encode($value); } else { $fops .= '/url/' . Qiniu_Encode($value); // $fops .= '/alias/'.Qiniu_Encode($key); // var_export($key); // var_export(Qiniu_Encode($key)); $fops .= '/alias/' . Qiniu_Encode($key); } if ($extraKey == null) { $extraKey = $value; } } } if ($saveas == null) { $saveas = md5($fops) . '.zip'; } if ($saveas != null) { $fops .= '|saveas/' . Qiniu_Encode(W2Config::$Qiniu_bucket . ':' . $saveas); } $persistentKey = 'mkzip.' . $saveas . '.pfop'; $saveFileInfo = W2Qiniu::getFileInfoFromQiniu($saveas); if (is_array($saveFileInfo) && array_key_exists('fsize', $saveFileInfo)) { return $saveFileInfo; } $persistentId = W2Qiniu::getKeyContent($persistentKey); if (!is_null($persistentId)) { return W2Qiniu::getPersistentInfo($persistentId); } if (strpos($extraKey, W2Config::$Qiniu_domain) != false) { $extraKey = str_replace('http://' . W2Config::$Qiniu_domain . '/', '', $extraKey); } $notifyURL = ""; $force = 0; $encodedBucket = urlencode(W2Config::$Qiniu_bucket); $encodedKey = urlencode($extraKey); $encodedFops = urlencode($fops); $encodedNotifyURL = urlencode($notifyURL); $apiHost = "http://api.qiniu.com"; $apiPath = "/pfop/"; $requestBody = "bucket={$encodedBucket}&key={$encodedKey}&fops={$encodedFops}¬ifyURL={$encodedNotifyURL}"; if ($force !== 0) { $requestBody .= "&force=1"; } $mac = new Qiniu_Mac(W2Config::$Qiniu_accessKey, W2Config::$Qiniu_secretKey); $client = new Qiniu_MacHttpClient($mac); list($ret, $err) = Qiniu_Client_CallWithForm($client, $apiHost . $apiPath, $requestBody); if ($err !== null) { var_dump($err); } else { if (is_array($ret) && array_key_exists('persistentId', $ret)) { W2Qiniu::setKeyContent($persistentKey, $ret['persistentId']); return W2Qiniu::getPersistentInfo($ret['persistentId']); } return $ret; } }
$destEntry = "{$destBucket}:{$destKey}"; $encodedEntry = Qiniu_Encode($destEntry); $apiHost = "http://iovip.qbox.me"; $apiPath = "/fetch/{$encodedUrl}/to/{$encodedEntry}"; $requestBody = ""; $mac = new Qiniu_Mac($accessKey, $secretKey); $client = new Qiniu_MacHttpClient($mac); list($ret, $err) = Qiniu_Client_CallWithForm($client, $apiHost . $apiPath, $requestBody); if ($err !== null) { echo "failed\n"; var_dump($err); } else { $bucket = $destBucket; $key = $destKey; Qiniu_SetKeys($accessKey, $secretKey); $entry = Qiniu_Encode($_POST['name'] . ':' . $_POST['title'] . $times . '.mp3'); $url = "avthumb/mp3|saveas/{$entry}"; $fops = $url; $notifyURL = ""; $force = 0; $encodedBucket = urlencode($bucket); $encodedKey = urlencode($key); $encodedFops = urlencode($fops); $encodedNotifyURL = urlencode($notifyURL); $apiHost = "http://api.qiniu.com"; $apiPath = "/pfop/"; $requestBody = "bucket={$encodedBucket}&key={$encodedKey}&fops={$encodedFops}¬ifyURL={$encodedNotifyURL}"; if ($force !== 0) { $requestBody .= "&force=1"; } $mac = new Qiniu_Mac($accessKey, $secretKey);
<?php require_once "../../qiniu/http.php"; require_once "../../qiniu/auth_digest.php"; require_once "../../qiniu/utils.php"; $accessKey = ""; $secretKey = ""; $targetUrl = ""; $destBucket = ""; $destKey = ""; $encodedUrl = Qiniu_Encode($targetUrl); $destEntry = "{$destBucket}:{$destKey}"; $encodedEntry = Qiniu_Encode($destEntry); $apiHost = "http://iovip.qbox.me"; $apiPath = "/fetch/{$encodedUrl}/to/{$encodedEntry}"; $requestBody = ""; $mac = new Qiniu_Mac($accessKey, $secretKey); $client = new Qiniu_MacHttpClient($mac); list($ret, $err) = Qiniu_Client_CallWithForm($client, $apiHost . $apiPath, $requestBody); if ($err !== null) { echo "failed\n"; var_dump($err); } else { echo "success\n"; }
$pfop->Key = $nfilename; if ($audiotype == 'music') { $nfilenamefop = 'FMFOPM' . date('YmdHis') . random(16) . '.mp3'; $savedKey = $nfilenamefop; $entry = Qiniu_Encode("{$pfop->Bucket}:{$savedKey}"); $pfop->Fops = "avthumb/mp3/aq/{$aq}/ar/44100|saveas/{$entry}"; } elseif ($audiotype == 'voice') { $nfilenamefop = 'FMVOICEFOPM' . date('YmdHis') . random(16) . '.mp3'; $savedKey = $nfilenamefop; $entry = Qiniu_Encode("{$pfop->Bucket}:{$savedKey}"); $pfop->Fops = "avthumb/mp3/aq/{$aq}/ar/44100|saveas/{$entry}"; } elseif ($audiotype == 'vedio') { $nfilenamefop = 'FMFOPV' . date('YmdHis') . random(16) . '.mp4'; $savedKey = $nfilenamefop; $entry = Qiniu_Encode("{$pfop->Bucket}:{$savedKey}"); $image = Qiniu_Encode("{$videologo}"); $pfop->Fops = "avthumb/mp4/wmImage/{$image}/wmGravity/{$wmgravity}/vcodec/libx264/s/{$videofbl}/rotate/auto|saveas/{$entry}"; } if ($pipeline) { $pfop->Pipeline = $pipeline; } list($ret, $err) = $pfop->MakeRequest($client); //$pfop->Force = 1; //echo "\n\n====> pfop result: \n"; if ($err !== null) { //var_dump($err); $fmdata = array("success" => -1, "msg" => $err); //echo json_encode($fmdata); echo json_encode($fmdata); exit; } else {
function Qiniu_RS_Fetch($self, $url, $bucket, $key) { global $QINIU_IOVIP_HOST; $path = '/fetch/' . Qiniu_Encode($url) . '/to/' . Qiniu_Encode("{$bucket}:{$key}"); return Qiniu_Client_CallNoRet($self, $QINIU_IOVIP_HOST . $path); }
<?php header("Content-Type: application/json; charset=utf-8"); require_once "../../qiniu/rs.php"; require_once "../../config.php"; require_once "../../qiniu/utils.php"; Qiniu_SetKeys($Qiniu_AccessKey, $Qiniu_SecretKey); $putPolicy = new Qiniu_RS_PutPolicy($Qiniu_Public_Bucket); //生成一个文件名称 $saveKey = "qiniu_cloud_storage_" . time(); $putPolicy->SaveKey = "qiniu_cloud_storage_" . time(); //转个码,得到一个mp4和m3u8 $mp4Fop = "avthumb/mp4/vb/256k/s/640x360|saveas/" . Qiniu_Encode($Qiniu_Public_Bucket . ":" . $saveKey . ".mp4"); $m3u8Fop = "avthumb/m3u8/vb/256k/s/640x360|saveas/" . Qiniu_Encode($Qiniu_Public_Bucket . ":" . $saveKey . ".m3u8"); $putPolicy->PersistentOps = $mp4Fop . ";" . $m3u8Fop; $putPolicy->PersistentPipeline = $MPS_Pipeline; $putPolicy->MimeLimit = "video/*"; $token = $putPolicy->Token(null); $respData = array("domain" => $Qiniu_Public_Bucket_Domain, "uptoken" => $token); $respBody = json_encode($respData); echo $respBody;