1. 程式人生 > >php上傳文件與圖片到七牛的實例詳解

php上傳文件與圖片到七牛的實例詳解

null images n) spa 最簡 neu err allow -c

上傳文件到七牛最簡單的方式就是使用七牛官方最新的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編碼的圖片

<?php
require_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);//獲取上傳所需的token


function 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>";

php上傳文件與圖片到七牛的實例詳解