使用PHP把图片上传到七牛

2018-06-22 05:16:14来源:未知 阅读 ()

新老客户大回馈,云服务器低至5折

先从官网下载SDK,然后新建一个文件,里面包括上传,下载,删除

<?php
header("Content-Type:text/html; charset=utf8");
require_once __DIR__ . './autoload.php';

// 引入鉴权类
use Qiniu\Auth;
use Qiniu\Storage\BucketManager;

// 引入上传类
use Qiniu\Storage\UploadManager;

// 需要填写你的 Access Key 和 Secret Key
$accessKey = 'fclU0P6jeGk3-HvLlMiksLPrmv3EGkwAJYomsAvW';
$secretKey = 'LSx15VFgFASg4EJrUtDCO2upFNfL0GMnVKHRfmNZ';

// 构建鉴权对象
$auth = new Auth($accessKey, $secretKey);

/* 上传 */
//////////////////////////////////////////////////////////////////////////

// 要上传的空间
$bucket = 'richie';

//自定义上传回复的凭证 返回的数据
$returnBody = '{"key":"$(key)","hash":"$(etag)","fsize":$(fsize),"bucket":"$(bucket)","name":"$(fname)"}';
$policy = array(
    'returnBody' => $returnBody,

);
//token过期时间
$expires = 3600;

// 生成上传 Token
$token = $auth->uploadToken($bucket, null, $expires, $policy, true);

// 要上传文件的本地路径
$filePath = './img-08.jpg'; // 上传到七牛后保存的文件名,可拼接 

$key = 'img-08.jpg'; // 初始化 UploadManager 对象并进行文件的上传。

$uploadMgr = new UploadManager(); // 调用 UploadManager 的 putFile 方法进行文件的上传。

list($ret, $err) = $uploadMgr->putFile($token, $key, $filePath);

// echo "\n====> putFile result: \n";

if ($err !== null) {

var_dump($err);
}
else {

var_dump($ret);
}

////////////////////////////////////////////////////////////////////////////// /* 下载 */ //>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
//私有空间中的外链 http://<domain>/<file_key>

$baseUrl = 'p0484dxn0.bkt.clouddn.com/img-08.jpg';

// 对链接进行签名 $signedUrl = $auth->privateDownloadUrl($baseUrl);

echo $signedUrl;

//>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> /* 删除 */ //==============================================================================================
/*
$config = new \Qiniu\Config();
// 初始化BucketManager
$bucketMgr = new BucketManager($auth,$config);
//你要测试的空间, 并且这个key在你空间中存在
$bucket = 'richie'; $key = 'img-08.jpg';
//删除$bucket 中的文件 $key
$err = $bucketMgr->delete($bucket, $key);
var_dump($err);
if ($err !== null) {
var_dump($err);
} else {
var_dump('删除成功');
}
*/

//===============================================================================================
?>

 

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:php时间戳转化成时间相差8小时问题

下一篇:Thinkphp模板开放给第三方编辑权限时,如何禁止模板使用php代码