




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
第詳解PHP使用OSS上傳文件目錄一、安裝阿里云osssdk二、使用1、獲取OSSAccessKeyId、AccessKeySecret2、簡易上傳Html處理3、控制器處理OssImageController.php4、service層處理OssImageService.php5、oss實例及參數(shù)獲取封裝AliOss.php6、結(jié)果是可以上傳成功三、問題說明
一、安裝阿里云osssdk
在網(wǎng)站根目錄執(zhí)行下面命令,安裝osssdk。
composerrequirealiyuncs/oss-sdk-php
安裝后,會在網(wǎng)站根目錄/vendor下找到一個名為`aliyuncs`的文件夾。
注:[阿里云oss-sdk文檔(可不用關(guān)注)](/document_detail/32099.html"官方oss-sdk文檔")
二、使用
1、獲取OSSAccessKeyId、AccessKeySecret
如果沒有這兩個數(shù)據(jù)可以參考/m_nanle_xiaobudiu/article/details/101756805。
2、簡易上傳Html處理
upload.html
!DOCTYPEhtml
htmllang="en"
head
metacharset="UTF-8"
title小卜丟個人站-oss圖片上傳/title
/head
body
formaction="oss-image/upload-image.json"method="post"enctype="multipart/form-data"
labelfor="file"文件名:/label
inputtype="file"name="image"id="file"br
inputtype="submit"name="submit"value="提交"
/form
/body
/html
3、控制器處理OssImageController.php
直接將請求發(fā)送到service,不用關(guān)注此層
declare(strict_types=1);
namespaceapp\controllers;
useapp\services\OssImageService;
classOssImageControllerextendsBaseController
*oss上傳圖片
*@returnstring
*@throws\OSS\Core\OssException
publicfunctionactionUploadImage()
return$this-response(OssImageService::service()-uploadImage());
}
4、service層處理OssImageService.php
PHP處理在此層,關(guān)注此層即可
declare(strict_types=1);
namespaceapp\services;
useapp\extensions\AliOss;
classOssImageServiceextendsBaseService
*oss上傳圖片
*@returnarray
*@throws\OSS\Core\OssException
publicfunctionuploadImage()
$ossClient=AliOss::getOssClient();
$bucketName=AliOss::getBucketName();
//文件名
$fileName=$_FILES['image']['name'];
//臨時文件位置
$tmpFile=$_FILES['image']['tmp_name'];
//定義文件存儲的oss位置
$ossPath='test/'.date('Y-m-d').'/'.date('Hi').mt_rand(10000,99999);
//定義ossobject
$object=$ossPath.'.'.$this-getExtension($fileName);
//執(zhí)行上傳并獲取返回oss信息
$info=$ossClient-uploadFile($bucketName,$object,$tmpFile);
$ossUrl=$info['oss-request-url'];
//如果圖片的協(xié)議是http,則轉(zhuǎn)換成https
if(substr($ossUrl,0,4)=='http'){
$ossUrl=substr_replace($ossUrl,'https',0,4);
$data=[
'file_url'=$ossUrl,
'file_name'=basename($ossUrl)
return$data;
*返回文件擴展名
*@param$fileName
*@returnmixed
privatefunctiongetExtension($fileName)
returnpathinfo($fileName)['extension'];
}
5、oss實例及參數(shù)獲取封裝AliOss.php
declare(strict_types=1);
namespaceapp\extensions;
useOSS\OssClient;
useOSS\Core\OssException;
*阿里云oss文件上傳
classAliOss
constendpoint='';
constaccessKeyId='LSDFskkdDDSSdkfg';
constaccessKeySecret='LT9cG3JkGKffRPalgk4n33lk8Ll41d';
constbucket='hk-server';
*根據(jù)Config配置,得到一個OssClient實例
*@returnOssClient一個OssClient實例
publicstaticfunctiongetOssClient()
try{
$ossClient=newOssClient(self::accessKeyId,self::accessKeySecret,self::endpoint,false);
}catch(OssException$e){
printf(__FUNCTION__."creatingOssClientinstance:FAILED\n");
printf($e-getMessage()."\n");
returnnull;
return$ossClient;
publicstaticfunctiongetBucketName()
returnself::bucket;
}
6、結(jié)果是可以上傳成功
返回圖片在oss中的完整訪問url的
status:1,
msg:"success",
data:{
file_url:"/test/2025-08-22/211753008.jpg",
file_name:"211753008.jpg"
}
這時,我們訪問/test/2025-08-22/211753008.jpg就可以正常獲取到圖片了,并且在oss管理控制臺也是可以找到上傳的文件的。
這只是將文件上傳到oss上,并將文件的url返給前端,但還沒有將文件的信息存在本地。這里建議前端接收到該url后,連同文件的其他數(shù)據(jù)(比如分類、文件名
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 朋友友誼協(xié)議書
- 文藝演出勞務(wù)合同
- 道路隔離欄桿合同協(xié)議
- 農(nóng)村電子商務(wù)平臺建設(shè)及維護合同
- 產(chǎn)品品質(zhì)保障及售后維修服務(wù)合同
- 產(chǎn)品市場推廣合作合同
- 工程款退款合同協(xié)議書
- 足浴會所定金合同協(xié)議
- 轉(zhuǎn)讓出租店鋪合同協(xié)議
- 建筑工程勞務(wù)大清包承包合同
- 生物質(zhì)燃氣利用的市場前景
- 中等職業(yè)學校信息技術(shù)課程標準(2020年版)(文本精排版)
- 提水試驗過程及數(shù)據(jù)處理
- 小型貨物提升機的設(shè)計
- 2023年第37屆中國化學奧林匹克競賽(江蘇賽區(qū))初賽真題(學生版+解析版)
- 動物實驗生物安全
- GA/T 2015-2023芬太尼類藥物專用智能柜通用技術(shù)規(guī)范
- 埃里克森的人格發(fā)展八階段
- 霧都孤兒讀書報告
- 志愿服務(wù)證明(多模板)
- 職業(yè)生涯規(guī)劃家庭影響因素
評論
0/150
提交評論