php七牛空间存图片大小,七牛云存储之图片的上传【PHP】

由于七牛云存储使用了命名空间USE,命名空间是在PHP5.3才引入的,所以5.3之前的版本会报错的哦

第一、下载七牛云存储SDK对应的PHP版本

第二、解压文件(我重新命名为了qiniusdk),放到项目根目录

第三、确定上传文件的机制(HTML上传,后台上传)

第四、上传成功

详解第三步(以下代码全部与sdk同级目录):

HTML上传:

              $token的生成:

require_once __DIR__ . '/qiniusdk/autoload.php';

use Qiniu\Auth;

use Qiniu\Storage\UploadManager;

$accessKey = '换成你的';

$secretKey = '换成你的';

$auth = new Auth($accessKey, $secretKey);

$bucket = '换成你的存储空间';

$token = $auth->uploadToken($bucket);

?>点击上传之后,图片直接上传至七牛

如果需要获取到文件名以及自定义文件名可以增加一个上传策略

require_once __DIR__ . '/qiniusdk/autoload.php';

header('Access-Control-Allow-Origin:*');

use Qiniu\Auth;

use Qiniu\Storage\UploadManager;

$accessKey = 'XXX';

$secretKey = 'YYY';

$auth = new Auth($accessKey, $secretKey);

$bucket = 'ZZZ';

$newname = time().'.jpg';

$policy = array(

'saveKey'=>$newname,

'callbackUrl' => 'http://WWW.sinaapp.com/qiniu/callback.php',

'callbackBody' => "name=$(fname)&newname=$newname&toid=12"

);

$token = $auth->uploadToken($bucket,NULL, 3600, $policy);

?>

通过

地址回调获取参数,将id为12的用户头像的图片设置为$newname

callback.php

$callbackBody = file_get_contents('php://input');

//$callbackBodys = base64_encode(serialize($callbackBody));

$mysql = new SaeMysql();

$sql = "ddd";

$mysql->runSql($sql);

ECHO '{"success":true}';

exit;

至此一个通过html直接上传到七牛的小功能就实现了;

后台上传:

感觉绕来绕去的还是比较麻烦,索性后台直接调用接口直接上传,这里需要用到七牛SDK中UploadManager的一个新方法putFile

require_once __DIR__ . '/qiniusdk/autoload.php';

use Qiniu\Auth;

use Qiniu\Storage\UploadManager;

$accessKey = 'XX';

$secretKey = 'YY';

$auth = new Auth($accessKey, $secretKey);

$bucket = 'ZZ';

$token = $auth->uploadToken($bucket);

$uploadMgr = new UploadManager();

//print_r($_FILES['file']['tmp_name']);exit;

$filePath = $_FILES['file']['tmp_name'];//'./php-logo.png';

$key = 'php-logo.png';

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

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

if ($err !== null) {

var_dump($err);

} else {

var_dump($ret);

}

html和上面的写法一样,只不过action地址改为自己的就可以了

七牛上传源码:https://github.com/rwifeng/qiniudocs/tree/master/demo/simpleuploader

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值