Files
2026-05-11 17:49:38 +08:00

83 lines
3.1 KiB
PHP
Executable File
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<?php
require_once __DIR__ . '/../autoload.php';
use Qiniu\Auth;
// 控制台获取密钥:https://portal.qiniu.com/user/key
$accessKey = getenv('QINIU_ACCESS_KEY');
$secretKey = getenv('QINIU_SECRET_KEY');
$bucket = getenv('QINIU_TEST_BUCKET');
// 初始化 Auth 状态
$auth = new Auth($accessKey, $secretKey);
//---------------------------------------- demo1 ----------------------------------------
// 设置凭证有效期(单位秒)
$expires = 3600;
$policy = null;
$upToken = $auth->uploadToken($bucket, null, $expires, $policy, true);
print($upToken . "\n");
//---------------------------------------- demo2 ----------------------------------------
// 自定义凭证有效期(示例2小时)
$expires = 7200;
$upToken = $auth->uploadToken($bucket, null, $expires, $policy, true);
print($upToken . "\n");
//---------------------------------------- demo3 ----------------------------------------
// 覆盖上传凭证
$expires = 3600;
$keyToOverwrite = 'qiniu.mp4';
$upToken = $auth->uploadToken($bucket, $keyToOverwrite, $expires, $policy, true);
print($upToken . "\n");
//---------------------------------------- demo4 ----------------------------------------
// 自定义上传回复(非callback模式)凭证
$returnBody = '{"key":"$(key)","hash":"$(etag)","fsize":$(fsize),"bucket":"$(bucket)","name":"$(x:name)"}';
$policy = array(
'returnBody' => $returnBody
);
$upToken = $auth->uploadToken($bucket, null, $expires, $policy, true);
print($upToken . "\n");
//---------------------------------------- demo5 ----------------------------------------
// 带回调业务服务器的凭证(application/json
$policy = array(
'callbackUrl' => 'http://api.example.com/qiniu/upload/callback',
'callbackBody' => '{"key":"$(key)","hash":"$(etag)","fsize":$(fsize),"bucket":"$(bucket)","name":"$(x:name)"}',
'callbackBodyType' => 'application/json'
);
$upToken = $auth->uploadToken($bucket, null, $expires, $policy, true);
print($upToken . "\n");
//---------------------------------------- demo6 ----------------------------------------
// 带回调业务服务器的凭证(application/x-www-form-urlencoded
$policy = array(
'callbackUrl' => 'http://api.example.com/qiniu/upload/callback',
'callbackBody' => 'key=$(key)&hash=$(etag)&bucket=$(bucket)&fsize=$(fsize)&name=$(x:name)'
);
$upToken = $auth->uploadToken($bucket, null, $expires, $policy, true);
print($upToken . "\n");
//---------------------------------------- demo7 ----------------------------------------
// 带数据处理的凭证
$saveMp4Entry = \Qiniu\base64_urlSafeEncode($bucket . ":avthumb_test_target.mp4");
$saveJpgEntry = \Qiniu\base64_urlSafeEncode($bucket . ":vframe_test_target.jpg");
$avthumbMp4Fop = "avthumb/mp4|saveas/" . $saveMp4Entry;
$vframeJpgFop = "vframe/jpg/offset/1|saveas/" . $saveJpgEntry;
$policy = array(
'persistentOps' => $avthumbMp4Fop . ";" . $vframeJpgFop,
'persistentPipeline' => "video-pipe",
'persistentNotifyUrl' => "http://api.example.com/qiniu/pfop/notify",
);
$upToken = $auth->uploadToken($bucket, null, $expires, $policy, true);
print($upToken . "\n");