博主用的是阿里雲的oss
首先先在阿里雲下載安裝sdk,相關的sdk下載請自行到阿里雲下載
文檔地址 https://help.aliyun.com/document_detail/85580.html?spm=a2c4g.11174283.6.1006.55ad7da2hNKC0w#h2-url-2
博主用的是第三個方法
<?php require_once './aliyun-oss-php-sdk-master/autoload.php'; header("content-type:text/html;charset=utf-8"); // if (is_file(__DIR__ . '/aliyun-oss-php-sdk-master/autoload.php')) { // require_once __DIR__ . '/aliyun-oss-php-sdk-master/autoload.php'; // } if (is_file(__DIR__ . '/aliyun-oss-php-sdk-master/autoload.php')) { require_once __DIR__ . '/aliyun-oss-php-sdk-master/autoload.php'; } if (is_file(__DIR__ . '/aliyun-oss-php-sdk-master/vendor/autoload.php')) { require_once __DIR__ . '/aliyun-oss-php-sdk-master/vendor/autoload.php'; } use OSS\OssClient; use OSS\Core\OssException; // 阿里雲主賬號AccessKey擁有所有API的訪問權限,風險很高。強烈建議您創建並使用RAM賬號進行API訪問或日常運維,請登錄 https://ram.console.aliyun.com 創建RAM賬號。 $accessKeyId = "xxxxx"; $accessKeySecret = "xxxxx"; // Endpoint以杭州為例,其它Region請按實際情況填寫。 $endpoint = "http://oss-cn-shenzhen.aliyuncs.com"; // 存儲空間名稱 $bucket = "xxxx"; $ossClient = new OssClient($accessKeyId, $accessKeySecret, $endpoint); // 判斷bucketname是否存在,不存在就去創建 if (!$ossClient->doesBucketExist($bucket)) { $ossClient->createBucket($bucket); } // 文件名稱 $object = $_FILES['filename']['name']; // <yourLocalFile>由本地文件路徑加文件名包括后綴組成,例如/users/local/myfile.txt $filePath = $_FILES['filename']['tmp_name']; try{ //上傳圖片 $ossClient->uploadFile($bucket, $object, $filePath); //文件訪問權限,設置為所有人可讀 $acl = "public-read"; $ossClient->putObjectAcl($bucket, $object, $acl); echo "<img src ='http://xxxx.oss-cn-shenzhen.aliyuncs.com/".$object."' >";die;
//刪除單個文件 // $ossClient->deleteObjects($bucket, $object); //刪除多個文件 // $objects = ['文件名1','文件名2']; // $ossClient->deleteObjects($bucket, $objects); } catch(OssException $e) { printf(__FUNCTION__ . ": FAILED\n"); printf($e->getMessage() . "\n"); return; } print(__FUNCTION__ . ": OK" . "\n");
<?php
require_once './aliyun-oss-php-sdk-master/autoload.php';
header("content-type:text/html;charset=utf-8");
// if (is_file(__DIR__ . '/aliyun-oss-php-sdk-master/autoload.php')) {
// require_once __DIR__ . '/aliyun-oss-php-sdk-master/autoload.php';
// }
if (is_file(__DIR__ . '/aliyun-oss-php-sdk-master/autoload.php')) {
require_once __DIR__ . '/aliyun-oss-php-sdk-master/autoload.php';
}
if (is_file(__DIR__ . '/aliyun-oss-php-sdk-master/vendor/autoload.php')) {
require_once __DIR__ . '/aliyun-oss-php-sdk-master/vendor/autoload.php';
}
use OSS\OssClient;
use OSS\Core\OssException;
// 阿里雲主賬號AccessKey擁有所有API的訪問權限,風險很高。強烈建議您創建並使用RAM賬號進行API訪問或日常運維,請登錄 https://ram.console.aliyun.com 創建RAM賬號。
$accessKeyId = "xxxxx";
$accessKeySecret = "xxxxx";
// Endpoint以杭州為例,其它Region請按實際情況填寫。
$endpoint = "http://oss-cn-shenzhen.aliyuncs.com";
// 存儲空間名稱
$bucket = "xxxx";
$ossClient = new OssClient($accessKeyId, $accessKeySecret, $endpoint);
// 判斷bucketname是否存在,不存在就去創建
if (!$ossClient->doesBucketExist($bucket)) {
$ossClient->createBucket($bucket);
}
// 文件名稱
$object = $_FILES['filename']['name'];
// <yourLocalFile>由本地文件路徑加文件名包括后綴組成,例如/users/local/myfile.txt
$filePath = $_FILES['filename']['tmp_name'];
try{
//上傳圖片
$ossClient->uploadFile($bucket, $object, $filePath);
//文件訪問權限,設置為所有人可讀
$acl = "public-read";
$ossClient->putObjectAcl($bucket, $object, $acl);
echo "<img src ='http://zyjzccgk.oss-cn-shenzhen.aliyuncs.com/".$object."' >";die;
//刪除單個文件
// $ossClient->deleteObjects($bucket, $object);
//刪除多個文件
// $objects = ['文件名1','文件名2'];
// $ossClient->deleteObjects($bucket, $objects);
} catch(OssException $e) {
printf(__FUNCTION__ . ": FAILED\n");
printf($e->getMessage() . "\n");
return;
}
print(__FUNCTION__ . ": OK" . "\n");