日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > php >内容正文

php

又拍云 php sdk,GitHub - totoleo/php-sdk: UPYUN PHP SDK

發布時間:2024/3/13 php 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 又拍云 php sdk,GitHub - totoleo/php-sdk: UPYUN PHP SDK 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

又拍云PHP SDK

[更新說明](#update instructions)

[使用說明](#use instructions)

示例

[上傳文件](#upload file)

[上傳圖片](#upload img)

[下載文件](#download file)

[獲取目錄文件列表](#file list)

[獲取文件信息](#file info)

[獲取空間使用狀況](#bucket info)

更新說明

使用1.0.x系列版本SDK的用戶,注意原有部分方法已經不再推薦使用(@deprecated標注),但是出于兼容考慮目前任然保留,建議更新升級程序使用新版SDK提供的方法。

使用說明

下載upyun.class.php到項目目錄

初始化UpYun

require_once('upyun.class.php');

$upyun = new UpYun('bucketname', 'operator_name', 'operator_pwd');

參數 bucketname 為空間名稱,operator_name、operator_pwd 為授權操作員的賬號密碼。

根據國內的網絡情況,又拍云存儲API目前提供了電信、聯通網通、移動鐵通三個接入點,在初始化的時候可以添加可選的第四個參數來指定API接入點。

$upyun = new UpYun('bucketname', 'operator_name', 'operator_pwd', UpYun::ED_TELECOM);

接入點有四個值可選:

UpYun::ED_AUTO 根據網絡條件自動選擇接入點

UpYun::ED_TELECOM 電信接入點

UpYun::ED_CNC 聯通網通接入點

UpYun::ED_CTT 移動鐵通接入點

默認參數為自動選擇API接入點。但是我們推薦根據服務器網絡狀況,手動設置合理的接入點已獲取最佳的訪問速度。

超時時間設置

在初始化UpYun上傳時,可以選擇設置上傳請求超時時間(默認30s):

$upyun = new UpYun('bucketname', 'operator_name', 'operator_pwd', UpYun::ED_TELECOM, 600);

示例

示例代碼中所有bucketname,operator_name,operator_pwd以及路徑需要替換成實際環境的值,賬戶密碼請注意保密

上傳文件

文件類空間可以上傳任意形式的二進制文件

1.直接讀取整個文件內容:

$upyun->writeFile('/path/to/server/file.ext', 'your file content', true);

2.文件流的方式上傳,可降低內存占用:

$file_handler = fopen('demo.png', 'r');

$upyun->writeFile('/path/to/server/demo.png', $file_handler, true);

fclose($file_handler);

writeFile()第三個參數為可選,true表示自動創建相應目錄,默認值為false。

文件空間上傳成功后返回true。

如果上傳失敗,則會拋出異常。

上傳圖片

圖片可以上傳到圖片類空間或文件類空間

圖片空間上傳的圖片不能超過20M,圖片寬*高*幀數不能超過2億

文件空間上傳的圖片不能超過1G

建議站點圖片上傳到圖片空間,便于在請求圖片時可以生成自定義版本圖片

1.上傳圖片并創建縮略圖:

writeFile()方法第四個參數為數組類型可選參數,用來設置文件類型、縮略圖處理。

$opts = array(

UpYun::X_GMKERL_THUMBNAIL => 'square' //創建縮略圖,該參數僅適用于圖片空間

);

$fh = fopen('demo.png', 'r');

$upyun->writeFile('/temp/upload_demo.png', $fh, true, $opts);

fclose($fh);

writeFile()方法第四個參數可以設置的值還包括:

UpYun::CONTENT_TYPE

UpYun::CONTENT_MD5

UpYun::CONTENT_SECRET

UpYun::X_GMKERL_THUMBNAIL

UpYun::X_GMKERL_TYPE

UpYun::X_GMKERL_VALUE

UpYun::X_GMKERL_QUALITY

UpYun::X_GMKERL_UNSHARP

參數的具體使用方法,請參考標準API上傳文件

圖片空間上傳成功后會返回一維數組,包含了圖片信息,示例如下:

array(

'x-upyun-width' => 2000,

'x-upyun-height' => 1000,

'x-upyun-frames' => 1

'x-upyun-file-type' => "JPEG"

)

如果上傳失敗,則會拋出異常。

下載文件

1.直接讀取文件內容:

$data = $upyun->readFile('/temp/upload_demo.png');

2.使用文件流模式下載:

$fh = fopen('/tmp/demo.png', 'w');

$upyun->readFile('/temp/upload_demo.png', $fh);

fclose($fh);

直接獲取文件時,返回文件內容,使用數據流形式獲取時,成功返回true。

如果獲取文件失敗,則拋出異常。

創建目錄

$upyun->makeDir('/demo/');

目錄路徑必須以斜杠 / 結尾,創建成功返回 true,否則拋出異常。

刪除目錄或者文件

$upyun->delete('/demo/'); // 刪除目錄

$upyun->delete('/demo/demo.png'); // 刪除文件

刪除成功返回true,否則拋出異常。注意刪除目錄時,必須保證目錄為空 ,否則也會拋出異常。

獲取目錄文件列表

$list = $upyun->getList('/demo/');

$file = $list[0];

echo $file['name'];// 文件名

echo $file['type'];// 類型(目錄: folder; 文件: file)

echo $file['size'];// 尺寸

echo $file['time'];// 創建時間

獲取目錄文件以及子目錄列表。需要獲取根目錄列表是,使用 $upyun->getList('/') ,或直接表用方法不傳遞參數。

目錄獲取失敗則拋出異常。

獲取文件信息

$result = $upyun->getFileInfo('/demo/demo.png');

echo $result['x-upyun-file-type']; // 文件類型

echo $result['x-upyun-file-size']; // 文件大小

echo $result['x-upyun-file-date']; // 創建日期

返回結果為一個數組。

獲取空間使用狀況

$upyun->getBucketUsage();// 獲取Bucket空間使用情況

返回的結果為空間使用量,單位 Byte

異常處理

當API請求發生錯誤時,SDK將拋出異常,具體錯誤代碼請參考標準API錯誤代碼表

根據返回HTTP CODE的不同,SDK將拋出以下異常:

UpYunAuthorizationException 401,授權錯誤

UpYunForbiddenException 403,權限錯誤

UpYunNotFoundException 404,文件或目錄不存在

UpYunNotAcceptableException 406, 目錄錯誤

UpYunServiceUnavailable 503,系統錯誤

未包含在以上異常中的錯誤,將統一拋出 UpYunException 異常。

為了正確處理API請求中可能出現的異常,建議將API操作放在try{...}catch(Exception $e){…} 塊中,如下所示:

try {

$upyun->getFolderUsage('/demo/');

//your code here

} catch(Exception $e) {

echo $e->getCode();// 錯誤代碼

echo $e->getMessage();// 具體錯誤信息

}

貢獻代碼

Fork

為新特性創建一個新的分支

發送一個 pull request 到 develop 分支

社區

許可證

UPYUN PHP-SDK基于 MIT 開源協議

總結

以上是生活随笔為你收集整理的又拍云 php sdk,GitHub - totoleo/php-sdk: UPYUN PHP SDK的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。