阿里雲oss的基本使用:
Php案例:
先購買oss資源包,我的建議是要買自己服務器所在區的資源包這樣你的服務器自身可以與oss內網連接而不產生外網的所有費用,根據你的自己的需求買對應的資源包。
購買完以后就可以自己探索一下oss的用法了,這里我說一下自己踩過的坑。
注意一下幾點:
1.文件訪問是要有權限的,oss系統提供了一套權限管理系統
2.如果你的請求被攔擊了請自己檢查你的用戶是否有相應的權限。
在php的阿里雲的oss sdk中有如下注釋:
// 阿里雲主賬號AccessKey擁有所有API的訪問權限,風險很高。強烈建議您創建並使用RAM賬號進行API訪問或日常運維,請登錄 https://ram.console.aliyun.com 創建RAM賬號。
使用阿里雲主賬號AccessKey的風險很高,所以還是聽他的吧。
進入:https://ram.console.aliyun.com
在你創建用戶以后會給你一個密匙(只會出現一次一定要保存)
好了現在這個興建的用戶有了管理你的oss的權限了:
下面這個案例是上傳到oss的指定文件夾,OSS中文件夾的概念僅是一個邏輯概念,在通過API/SDK的方式設置文件夾的時候可以指定object對應的key值包括前面的目錄即可實現該功能。例如,定義object的key為abc/1.jpg就會在該bucket下創建一個abc的文件夾,而在文件夾下即會有一個1.jpg的文件。在控制台上也可以通過新建文件夾按鈕來創建文件夾。
好了這里就已經可以上傳到指定的文件夾了。
具體代碼如下:
需要你下載php的sdk以后包含其autoload.php
<?php require_once __DIR__ . '/autoload.php'; use OSS\OssClient; use OSS\Core\OssException; // 阿里雲主賬號AccessKey擁有所有API的訪問權限,風險很高。強烈建議您創建並使用RAM賬號進行API訪問或日常運維,請登錄 https://ram.console.aliyun.com 創建RAM賬號。 $accessKeyId = "你的accessKeyId "; $accessKeySecret = "你的accessKeySecret "; // Endpoint以杭州為例,其它Region請按實際情況填寫。 $endpoint = "http://oss-cn-shanghai.aliyuncs.com"; // 存儲空間名稱 $bucket= "你的bucket的名字"; // 文件名稱 這里加了文件夾分割 會自動上傳到指定文件夾(存在,文件夾不存在則會自動創建) $object = "img/123.jpg"; // <yourLocalFile>由本地文件路徑加文件名包括后綴組成,例如/users/local/myfile.txt $filePath = "C:\\Users\\ZEC--\\Desktop\\QQ圖片20181119115842.jpg"; try{ $ossClient = new OssClient($accessKeyId, $accessKeySecret, $endpoint); $ossClient->uploadFile($bucket, $object, $filePath); }catch(OssException $e) { printf(__FUNCTION__ . ": FAILED\n"); printf($e->getMessage() . "\n"); return; } //輸出查看 echo "<a href='http://".$bucket.".oss-cn-shanghai.aliyuncs.com/".$object."'>1321321</a>"; ?>
具體的用法阿里雲的sdk手冊說的非常清楚了:
手冊地址:https://help.aliyun.com/document_detail/32099.html?spm=a2c4g.11186623.6.796.d6f35d260W2xSz