php怎么上传空间_使用七牛云PHP-SDK将网上图片上传到自己的七牛云空间

七牛云是一个便捷的数据云存储平台。通过官方或社区社区SDK你可以方便通过程序上传文件到自己的空间中。下面的这个小 Demo 是通过 七牛官方 PHP-SDK 将一个网上的图片url 上传到自己的七牛 Bucket 中。这个 Demo 的关键点是使用 curl 读取图片内容,然后在将读取的图片内容通过指定 MIME 上传到指定 Bucket 即可。

安装 七牛云 PHP-SDK

git clone https://github.com/qiniu/php-sdk.git

Demo 的文件结构

83d2926efba0

image

Demo 代码

require_once __DIR__ . './autoload.php';

use Qiniu\Auth;

use Qiniu\Storage\UploadManager;

class uploadImage {

public $access_key;

public $secret_key;

public $bucket;

public function __construct()

{

$this->access_key = '填写你的七牛云 access_key';

$this->secret_key = '填写你的七牛云 secret_key';

$this->bucket = '填写你的七牛云 bucket';

}

/*

* @ 上传远端图片

* @ 2017/10/09

* @ 雨醉风尘

* */

public function uploadImg($imgUrl)

{

#读取网上图片内容

$imageData = self::getImgData($imgUrl);

$auth = new Auth($this->access_key, $this->secret_key);

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

#上传的文件名

$key = 'imgUrl_'.microtime(true).'.jpg';

$up = new UploadManager();

$mime = 'image/jpeg';

list($rest, $err) = $up->put($token, $key, $imageData, null, $mime);

if ($err) {

echo '

';

print_r($err);

} else {

echo '

';

print_r($rest);

$domain = '上传 Bucket 外链默认';

#获取上传到七牛云的图片url

$uploadUrl = $domain.$rest['key'];

echo "%24uploadUrl"; //图片显示

}

}

protected function getImgData($imgUrl)

{

$ch = curl_init($imgUrl);

curl_setopt($ch, CURLOPT_HEADER, 0);

curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

curl_setopt($ch, CURLOPT_BINARYTRANSFER, 1);

curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 0);

//读取图片信息

$rawData = curl_exec($ch);

curl_close($ch);

//读取文件到本地

//file_put_contents('aa.png',$rawData);

return $rawData;

}

}

$upTest = new uploadImage();

$uploadImageUrl = "http://s3.cn.bing.net/th?id=OJ.z0O2eyRKKpwmZQ&pid=MSNJVFeeds";

$upTest->uploadImg($uploadImageUrl);

程序执行结果

83d2926efba0

image

在 七牛云 后台查看 是否存在 imgUrl_1507562883.5045.jpg 文件

83d2926efba0

image

-:)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值