使用七牛雲PHP-SDK將網上圖片上傳到自己的七牛雲空間
七牛雲是一個便捷的資料雲端儲存平臺。通過官方或社群社群SDK你可以方便通過程式上傳檔案到自己的空間中。下面的這個小 Demo 是通過 七牛官方 PHP-SDK 將一個網上的圖片url 上傳到自己的七牛 Bucket 中。這個 Demo 的關鍵點是使用 curl 讀取圖片內容,然後在將讀取的圖片內容通過指定 MIME 上傳到指定 Bucket 即可。
- 安裝 七牛雲 PHP-SDK
git clone https://github.com/qiniu/php-sdk.git
- Demo 的檔案結構
- Demo 程式碼
<?php
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 '<pre>';
print_r($err);
} else {
echo '<pre>';
print_r($rest);
$domain = '上傳 Bucket 外鏈預設';
#獲取上傳到七牛雲的圖片url
$uploadUrl = $domain.$rest['key'];
echo "<img src=$uploadUrl>"; //圖片顯示
}
}
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);
- 程式執行結果
- 在 七牛雲 後臺檢視 是否存在
imgUrl_1507562883.5045.jpg
檔案
-:)
相關文章
- Laravel 上傳圖片到七牛雲Laravel
- Laravel——圖片上傳之七牛雲Laravel
- 基於.net core 七牛雲上傳多圖片
- Laravel 圖片上傳到本地和七牛雲類封裝整合Laravel封裝
- React Native 上傳圖片至七牛雲端儲存React Native
- springboot專案上傳儲存圖片到七牛雲伺服器Spring Boot伺服器
- elementui upload元件 上傳視訊到七牛雲UI元件
- base64 上傳到七牛雲 返回url
- 更改DcatAdmin上傳元件, 直傳七牛雲元件
- RxJava應用:實現七牛雲多圖上傳RxJava
- nodejs 使用七牛雲端儲存上傳檔案NodeJS
- Typora + 七牛雲圖床快速配置,告別手動上傳圖片!圖床
- 微信小程式上傳圖片至七牛微信小程式
- Java學習筆記(一)上傳圖片到七牛雲的詳細實現流程Java筆記
- 搭建自己的圖床:七牛雲+Mpic【棄】圖床
- C# 檔案上傳到七牛雲伺服器(一)C#伺服器
- react ts 使用七牛 傳輸圖片React
- PHP上傳檔案到七牛(Qiniu)PHP
- thinkphp 增加七牛上傳功能PHP
- vue 靜態檔案上傳到七牛Vue
- Laravel-admin 配置 wangEditor3 富文字編輯器圖片七牛雲上傳Laravel
- 七牛雲OSSUtil
- Laravel 七牛雲 sdk 物件儲存 示例 上傳語音Laravel物件
- 定時備份 MySQL 並上傳到七牛MySql
- PHP 指令碼實現 Markdown 文章上傳到七牛圖床PHP指令碼圖床
- Tp3如何實現本地視訊檔案上傳到七牛雲
- 圖片儲存-從七牛到 GithubGithub
- 快速使用七牛雲物件儲存物件
- 七牛雲 goc docker 部署GoDocker
- 七牛雲物件儲存物件
- 七牛圖床圖片轉移圖床
- 圖床搭建 | 七牛雲 + PicGo (使用Typora編輯文件)圖床PicGo
- ThinkPHP之七牛雲儲存PHP
- iPic 新版:上傳檔案至七牛、又拍、阿里雲、騰訊雲、Amazon S3阿里S3
- 七牛雲試用指南-單檔案直傳(原理)
- [七牛雲] 招聘前端開發工程師,來七牛,做你最喜歡的開發!前端工程師
- 七牛雲:呼叫七牛OCR介面,幾行程式碼識別身份證資訊行程
- 七牛雲招聘~視訊雲產品經理
- php實現七牛雲相關操作PHP