使用PHP上传图片到七牛的方法
发布时间:2015-10-15, 10:45:05 分类:PHP | 编辑 off 网址 | 辅助
正文 1578字数 161,603阅读
如果你想使用php将图片上传到七牛云存储,但是你看过官方提供的文档后还是一头雾水的话,你很适合看这篇文章。你可以先写好自己上传图片的表单,例如:
<form action="upload.php" method="post" enctype="multipart/form-data">
<input type="file" name="file"/>
<input type="submit" value="提交"/>
</form>
Run code
Cut to clipboard
七牛官方提供的方法已经相当完善了,只是刚解决的人大多看不太明白,upload.php的内容大多是七牛官方提供的方法,在此基础上添加和修改的一些代码,相信大家就应该很容易看懂了:
require_once '<path_to_autoload_file>/autoload.php';
use Qiniu\Auth;
use Qiniu\Storage\UploadManager;
$file = $_FILES['file']['tmp_name']; //获取到文件的临时副本的名称
$accessKey = 'YOUR_APP_ACCESS_KEY';
$secretKey = 'YOUR_APP_SECRET_KEY';
$auth = new Auth($accessKey, $secretKey);
$bucket = 'phpsdk'; //你的七牛空间名
// 设置put policy的其他参数
$opts = array(
'callbackBody' => 'name=$(fname)&hash=$(etag)'
);
$token = $auth->uploadToken($bucket, null, 3600, $opts);
$uploadMgr = New UploadManager();
list($ret, $err) = $uploadMgr->putFile($token, null, $file);
echo "\n====> putFile result: \n";if ($err !== null) {
var_dump($err);
} else {
var_dump($ret);
}
Run code
Cut to clipboard
上传成功后会返回一个$ret数组,此数组里保存着上传文件的hash值和key值,得到key值后就可获得预览和下载图片的链接,生成预览方法如下:
require_once '<path_to_autoload_file>/autoload.php';
use Qiniu\Processing\Operation;
$key = '上面获取的$ret里的key的值';
$domain = '你在七牛设置的域名';
$op = New Operation($domain);
$ops = 'imageView2/0/w/10/h/20';
$url = $op->buildUrl($key, $ops);
echo "\n====> imageView2 URL: \n $url";
Run code
Cut to clipboard
(支付宝)给作者钱财以资鼓励 (微信)→
暂无评论 »