电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術文章
文章詳情頁

詳解PHP使用OSS上傳文件

瀏覽:126日期:2022-09-07 16:39:28
一、安裝阿里云 oss sdk

在網站根目錄執行下面命令,安裝oss sdk。

composer require aliyuncs/oss-sdk-php

安裝后,會在 網站根目錄/vendor 下找到一個名為 `aliyuncs` 的文件夾。

注:[阿里云 oss - sdk 文檔(可不用關注)](https://help.aliyun.com/document_detail/32099.html '官方 oss - sdk 文檔')

二、使用1、獲取 OSS AccessKeyId、AccessKeySecret

如果沒有這兩個數據可以參考 https://blog.csdn.net/m_nanle_xiaobudiu/article/details/101756805。

2、簡易上傳 Html 處理

upload.html

<!DOCTYPE html><html lang='en'><head>    <meta charset='UTF-8'>    <title>小卜丟個人站 - oss圖片上傳</title></head><body>    <form action='oss-image/upload-image.json' method='post' enctype='multipart/form-data'>        <label for='file'>文件名:</label>        <input type='file' name='image' id='file'><br>        <input type='submit' name='submit' value='提交'>    </form></body></html>3、控制器處理 OssImageController.php

直接將請求發送到service,不用關注此層

<?phpdeclare(strict_types = 1);namespace appcontrollers;use appservicesOssImageService;class OssImageController extends BaseController{ /** * oss上傳圖片 * * @return string * @throws OSSCoreOssException */ public function actionUploadImage() {return $this->response(OssImageService::service()->uploadImage()); }} 4、service層處理 OssImageService.php

PHP處理在此層,關注此層即可

<?phpdeclare(strict_types = 1);namespace appservices;use appextensionsAliOss;class OssImageService extends BaseService{ /** * oss上傳圖片 * * @return array * @throws OSSCoreOssException */ public function uploadImage() { $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); // 定義oss object $object = $ossPath .’.’ .$this->getExtension($fileName); // 執行上傳并獲取返回 oss 信息 $info = $ossClient->uploadFile($bucketName, $object, $tmpFile); $ossUrl = $info[’oss-request-url’]; // 如果圖片的協議是http,則轉換成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 * @return mixed */ private function getExtension($fileName) {return pathinfo($fileName)[’extension’]; }}5、oss 實例及參數獲取封裝 AliOss.php

<?phpdeclare(strict_types = 1);namespace appextensions;use OSSOssClient;use OSSCoreOssException;/** *阿里云oss文件上傳 */class AliOss{ const endpoint= ’oss-cn-hongkong.aliyuncs.com’; const accessKeyId = ’LSDFskkdDDSSdkfg’; const accessKeySecret = ’LT9cG3JkGKffRPalgk4n33lk8Ll41d’; const bucket = ’hk-server’; /** * 根據Config配置,得到一個OssClient實例 * * @return OssClient 一個OssClient實例 */ public static function getOssClient() {try { $ossClient = new OssClient(self::accessKeyId, self::accessKeySecret, self::endpoint, false);} catch (OssException $e) { printf(__FUNCTION__ . 'creating OssClient instance: FAILEDn'); printf($e->getMessage() . 'n'); return null;}return $ossClient; } public static function getBucketName() {return self::bucket; }}6、結果是可以上傳成功

返回圖片在oss中的完整訪問url的

{ status: 1, msg: 'success', data: {file_url: 'https://hk-server.oss-cn-hongkong.aliyuncs.com/test/2018-08-22/211753008.jpg',file_name: '211753008.jpg' }}

這時,我們訪問 https://hk-server.oss-cn-hongkong.aliyuncs.com/test/2018-08-22/211753008.jpg 就可以正常獲取到圖片了,并且在oss管理控制臺也是可以找到上傳的文件的。

這只是將文件上傳到 oss 上,并將 文件的 url 返給前端,但還沒有將文件的信息存在本地。這里建議前端接收到該url后,連同文件的其他數據(比如分類、文件名等)再請求后端的另外的接口,進行本地數據庫的信息存儲。

三、問題說明

可能會出現 The OSS Access Key Id you provided does not exist in our records 等問題,不要慌,重新生成一下就好了。

以上就是詳解PHP使用OSS上傳文件的詳細內容,更多關于PHP使用OSS的資料請關注好吧啦網其它相關文章!

標簽: PHP
相關文章:
主站蜘蛛池模板: 电池高低温试验箱-气态冲击箱-双层电池防爆箱|简户百科 | 食品无尘净化车间,食品罐装净化车间,净化车间配套风淋室-青岛旭恒洁净技术有限公司 | 彩信群发_群发彩信软件_视频短信营销平台-达信通 | 欧必特空气能-商用空气能热水工程,空气能热水器,超低温空气源热泵生产厂家-湖南欧必特空气能公司 | 阳光模拟试验箱_高低温试验箱_高低温冲击试验箱_快速温变试验箱|东莞市赛思检测设备有限公司 | 都江堰招聘网-都江堰人才网 都江堰人事人才网 都江堰人才招聘网 邢台人才网_邢台招聘网_邢台123招聘【智达人才网】 | 智能楼宇-楼宇自控系统-楼宇智能化-楼宇自动化-三水智能化 | 蓄电池在线监测系统|SF6在线监控泄露报警系统-武汉中电通电力设备有限公司 | 齿轮减速电机一体机_蜗轮蜗杆减速马达-德国BOSERL齿轮减速机带电机生产厂家 | 不锈钢监控杆_监控立杆厂家-廊坊耀星光电科技有限公司 | 奇酷教育-Python培训|UI培训|WEB大前端培训|Unity3D培训|HTML5培训|人工智能培训|JAVA开发的教育品牌 | 建筑消防设施检测系统检测箱-电梯**检测仪器箱-北京宇成伟业科技有限责任公司 | 汝成内控-行政事业单位内部控制管理服务商 | 列管冷凝器,刮板蒸发器,外盘管反应釜厂家-无锡曼旺化工设备有限公司 | ★店家乐|服装销售管理软件|服装店收银系统|内衣店鞋店进销存软件|连锁店管理软件|收银软件手机版|会员管理系统-手机版,云版,App | 环比机械 | 安徽净化工程设计_无尘净化车间工程_合肥净化实验室_安徽创世环境科技有限公司 | 盐城网络公司_盐城网站优化_盐城网站建设_盐城市启晨网络科技有限公司 | 999范文网_优质范文下载写作帮手| 恒温油槽-恒温水槽-低温恒温槽厂家-宁波科麦仪器有限公司 | 【铜排折弯机,钢丝折弯成型机,汽车发泡钢丝折弯机,线材折弯机厂家,线材成型机,铁线折弯机】贝朗折弯机厂家_东莞市贝朗自动化设备有限公司 | 恒温槽_恒温水槽_恒温水浴槽-上海方瑞仪器有限公司 | 南京办公用品网-办公文具用品批发-打印机耗材采购 | 紫外线老化试验箱_uv紫外线老化试验箱价格|型号|厂家-正航仪器设备 | 冻干机(冷冻干燥机)_小型|实验型|食品真空冷冻干燥机-松源 | 防水套管|柔性防水套管|伸缩器|伸缩接头|传力接头-河南伟创管道 防水套管_柔性防水套管_刚性防水套管-巩义市润达管道设备制造有限公司 | 密集架-密集柜厂家-智能档案密集架-自动选层柜订做-河北风顺金属制品有限公司 | 搜活动房网—活动房_集装箱活动房_集成房屋_活动房屋 | 气体检测仪-氢气检测仪-可燃气体传感器-恶臭电子鼻-深国安电子 | 植筋胶-粘钢胶-碳纤维布-碳纤维板-环氧砂浆-加固材料生产厂家-上海巧力建筑科技有限公司 | 二手电脑回收_二手打印机回收_二手复印机回_硒鼓墨盒回收-广州益美二手电脑回收公司 | led太阳能路灯厂家价格_风光互补庭院灯_农村市政工程路灯-中山华可路灯品牌 | 新能源汽车教学设备厂家报价[汽车教学设备运营18年]-恒信教具 | 烟台螺纹,烟台H型钢,烟台钢材,烟台角钢-烟台市正丰金属材料有限公司 | 橡胶粉碎机_橡胶磨粉机_轮胎粉碎机_轮胎磨粉机-河南鼎聚重工机械制造有限公司 | 河北码上网络科技|邯郸小程序开发|邯郸微信开发|邯郸网站建设 | 信阳网站建设专家-信阳时代网联-【信阳网站建设百度推广优质服务提供商】信阳网站建设|信阳网络公司|信阳网络营销推广 | 蜘蛛车-登高车-高空作业平台-高空作业车-曲臂剪叉式升降机租赁-重庆海克斯公司 | 苹果售后维修点查询,苹果iPhone授权售后维修服务中心 – 修果网 拼装地板,悬浮地板厂家,悬浮式拼装运动地板-石家庄博超地板科技有限公司 | 仿古瓦,仿古金属瓦,铝瓦,铜瓦,铝合金瓦-西安东申景观艺术工程有限公司 | 视觉检测设备_自动化检测设备_CCD视觉检测机_外观缺陷检测-瑞智光电 |