上传文件到七牛最简单的方式就是使用七牛官方最新的SDK
用composer安装PHP SDK
composer require qiniu/php-sdk
上传文件到七牛
use Qiniu\Auth;use Qiniu\Storage\UploadManager;$cfg = [ 'access' => 'YOUR_ACCESS_KEY', 'secret' => 'YOUR_SECRET_KEY', 'bucket' => 'YOUR_BUCKET', 'domain' => 'https://images.your_domain.com'];$auth = new Auth($cfg['access'], $cfg['secret']);// 创建一个过期时间为1小时的临时上传令牌$token = $auth->uploadToken($cfg['bucket'], null, 3600);$filePath = "./illustration.png";$uploadMgr = new UploadManager();list($ret, $err) = $uploadMgr->putFile($token, null, $filePath);if($err !== null) { $this->err = $err;} else { echo $cfg['domain'] . '/' . $ret['key'];}
php向七牛上传base64编码的图片
<?phprequire_once 'vendor/autoload.php';header('Access-Control-Allow-Origin:*');use Qiniu\Auth;$bucket = '要上传的空间名';$accessKey = '你的accessKey';$secretKey = '你的secretKey';$auth = new Auth($accessKey, $secretKey);$upToken = $auth->uploadToken($bucket, null, 3600);//获取上传所需的tokenfunction request_by_curl($remote_server,$post_string,$upToken) { $headers = array(); $headers[] = 'Content-Type:image/png'; $headers[] = 'Authorization:UpToken '.$upToken; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL,$remote_server); //curl_setopt($ch, CURLOPT_HEADER, 0); curl_setopt($ch, CURLOPT_HTTPHEADER ,$headers); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); //curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, $post_string); curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 10); curl_setopt($ch, CURLOPT_TIMEOUT, 30); $data = curl_exec($ch); curl_close($ch); return $data; } $str="base64编码的字符串";echo "<pre>";echo request_by_curl('http://upload.qiniu.com/putb64/-1',$str,$upToken);echo "</pre>";
评论(0)