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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > php >内容正文

php

Thinkphp5.0 阿里云OSS扩展类上传示例(轮子)

發(fā)布時間:2023/12/4 php 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Thinkphp5.0 阿里云OSS扩展类上传示例(轮子) 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

轉(zhuǎn)載請聲明出處
環(huán)境必須:阿里云OSS php SDK
阿里云OSS php SDK地址:https://github.com/aliyun/aliyun-oss-php-sdk?spm=a2c4g.11186623.2.9.564522154eaqQP
我是直接下載下來丟到tp5 目錄下的 vendor/aliyun 目錄下
系統(tǒng)環(huán)境:centos 6.5

在項(xiàng)目中正確的加入了php sdk 后,那么直接在配置文件中修改以下的配置文件信息,直接套用,注意,還有一個存儲空間名,在代碼中有標(biāo)準(zhǔn),將空間名改成你的空間名即可,還有本項(xiàng)目我是用來做img上傳的,其他文件也一樣,不過建議根據(jù)自己項(xiàng)目需求修改下最好。還有一點(diǎn)由于本人暫時不用考慮服務(wù)器的問題。所以是在web端操作經(jīng)過服務(wù)器處理上傳,并沒有直接上傳阿里的OSS。希望各位可以留言留下更好的方法~謝謝!

以下擴(kuò)展類有幾個配置項(xiàng):
config('webpath_local') :web的絕對路徑,與 ‘vendor/aliyun/autoload.php’ 拼接,在類中引用
config('accessKeyId'):
config('accessKeySecret'):.
config('endpoint'): 你的阿里云的 accessKeyId,accessKeySecret,endpoint 加入到配置文件中即可

如何調(diào)用:
首先在tp類頭部use(在此注意,輪子擴(kuò)展類的文件名為 aliyun.php )
:use aliyun\aliyun\aliyun;
然后簡單調(diào)用代碼:

$aliyun = new aliyun();//實(shí)例化阿里云上傳擴(kuò)展類$fileMsg=$_FILES;//前端給予的文件信息$aliyunUrlResult=$aliyun->Uploadaliyunoss($fileMsg);//傳入阿里云OSS上傳方法。也就是輪子的上傳方法

輪子:

<?php namespace aliyun\aliyun; \\當(dāng)前命名空間 //引入文件 if (is_file(config('webpath_local') . 'vendor/aliyun/autoload.php')) {require_once config('webpath_local') . 'vendor/aliyun/autoload.php'; }use OSS\OssClient; use OSS\Core\OssException; use OSS\Http\RequestCore; use OSS\Http\ResponseCore;class aliyun {public function Uploadaliyunoss($fileMsg=null){$accessKeyId = config('accessKeyId');$accessKeySecret = config('accessKeySecret');// Endpoint以杭州為例,其它Region請按實(shí)際情況填寫。$endpoint = config('endpoint');// 存儲空間名稱。$bucket= "你的存儲空間名稱";// 文件名稱$object = time().$_FILES['img']['name'];// <yourLocalFile>由本地文件路徑加文件名包括后綴組成,例如/users/local/myfile.txt$filePath = $_FILES['img']['tmp_name'];try {$ossClient = new OssClient($accessKeyId, $accessKeySecret, $endpoint);// 設(shè)置Socket層傳輸數(shù)據(jù)的超時時間,單位秒,默認(rèn)5184000秒。$ossClient->setTimeout(3600);// 設(shè)置建立連接的超時時間,單位秒,默認(rèn)10秒。$ossClient->setConnectTimeout(10);$res = $ossClient->doesBucketExist($bucket);if ($res === true) {//print(__FUNCTION__ . ": OK" . "\n");} else {//print(__FUNCTION__ . ": FAILED" . "\n");}$UploadResult=$ossClient->uploadFile($bucket, $object, $filePath);//返回上傳后的訪問url,如果沒有設(shè)置公共讀將會讀取不到,設(shè)置公共讀后將不是很安全return $UploadResult['info']['url'];} catch (OssException $e) {print $e->getMessage();printf($e->getMessage() . "\n");return;}} } 創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎勵來咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎

總結(jié)

以上是生活随笔為你收集整理的Thinkphp5.0 阿里云OSS扩展类上传示例(轮子)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。