iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > PHP编程 >怎么在PHP中使用OSS上传文件
  • 534
分享到

怎么在PHP中使用OSS上传文件

2023-06-14 18:06:52 534人浏览 八月长安
摘要

本篇文章给大家分享的是有关怎么在PHP中使用OSS上传文件,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。php有什么特点1、执行速度快。2、具有很好的开放性和可扩展性。3、PH

本篇文章给大家分享的是有关怎么在PHP中使用OSS上传文件,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。

php有什么特点

1、执行速度快。2、具有很好的开放性和可扩展性。3、PHP支持多种主流与非主流的数据库。4、面向对象编程:PHP提供了类和对象。5、版本更新速度快。6、具有丰富的功能。7、可伸缩性。8、功能全面,包括图形处理、编码与解码、压缩文件处理、xml解析等。

一、安装阿里云 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 app\controllers;use app\services\OssImageService;class OssImageController extends BaseController{        public function actionUploadImage()    {        return $this->response(OssImageService::service()->uploadImage());    }}

 4、service层处理 OssImageService.php

PHP处理在此层,关注此层即可

<?phpdeclare(strict_types = 1);namespace app\services;use app\extensions\AliOSs;class OssImageService extends BaseService{        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;    }        private function getExtension($fileName)    {        return pathinfo($fileName)['extension'];    }}

5、oss 实例及参数获取封装 AliOss.php

<?phpdeclare(strict_types = 1);namespace app\extensions;use OSS\OssClient;use OSS\Core\OssException;class AliOss{    const endpoint        = 'oss-cn-hongkong.aliyuncs.com';    const accessKeyId     = 'LSDFskkDDDSSdkfg';    const accessKeySecret = 'LT9cG3JkGKffRPalgk4n33lk8Ll41d';    const bucket          = 'hk-server';        public static function getOssClient()    {        try {            $ossClient = new OssClient(self::accessKeyId, self::accessKeySecret, self::endpoint, false);        } catch (OssException $e) {            printf(__FUNCTION__ . "creating OssClient instance: FAILED\n");            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"    }}

以上就是怎么在PHP中使用OSS上传文件,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注编程网PHP编程频道。

--结束END--

本文标题: 怎么在PHP中使用OSS上传文件

本文链接: https://www.lsjlt.com/news/274219.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 怎么在PHP中使用OSS上传文件
    本篇文章给大家分享的是有关怎么在PHP中使用OSS上传文件,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。php有什么特点1、执行速度快。2、具有很好的开放性和可扩展性。3、PH...
    99+
    2023-06-14
  • 详解PHP使用OSS上传文件
    目录一、安装阿里云 oss sdk二、使用1、获取 OSS AccessKeyId、AccessKeySecret2、简易上传 Html 处理3、控制器处理 OssImageCont...
    99+
    2024-04-02
  • php 文件上传至OSS及删除远程阿里云OSS文件
    删除的时候记住不要带域名,也不要带'/'这个路径符号,如全路径是:'https://hxty.oss-cn-beijing.aliyuncs.com/data/pdf/contrac...
    99+
    2024-04-02
  • php中文件上传至OSS的示例分析
    小编给大家分享一下php中文件上传至OSS的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!删除的时候记住不要带域名,也不要带'/'这个路径...
    99+
    2023-06-20
  • Java 使用OSS 文件上传+下载 简单入门
    官方SDK文档:Java对象/文件_对象存储-阿里云帮助中心   开始使用OSS         阿里云对象存储OSS(Object Storage Service)为您提供基于网络的数据存取服务。使用OSS,可以通过网络随时存储和调...
    99+
    2023-09-03
    java 阿里云
  • 怎么在html中使用ajax上传大文件
    这篇文章给大家介绍怎么在html中使用ajax上传大文件,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。html有什么特点1、简易性:超级文本标记语言版本升级采用超集方式,从而更加灵活方便,适合初学前端开发者使用。2、可...
    99+
    2023-06-08
  • Vue Element UI + OSS怎么实现上传文件功能
    这篇文章主要为大家展示了“Vue Element UI + OSS怎么实现上传文件功能”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Vue Element UI...
    99+
    2024-04-02
  • 怎么在django中上传文件
    怎么在django中上传文件?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。Django文件上传需要考虑的重要事项文件或图片一般通过表单进行。用户在前端点击文件上...
    99+
    2023-06-14
  • Dcat Admin 入门应用(五)文件上传之OSS自定义上传
    数据表单通过以下的调用来生成图片/文件上传表单,支持本地和云存储的文件上传,该文章介绍如何通过自定义上传路径处理文件上传和将文件存储到阿里云OSS。 1、上传组件是基于webuploader实现的,具体的使用配置可参考webuploade...
    99+
    2024-04-02
  • 怎么利用​PHP中的 $_FILES上传文件
    小编给大家分享一下怎么利用PHP中的 $_FILES上传文件,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!PHP 中的$_FILESPHP全局$_FILES包含文...
    99+
    2023-06-14
  • idea中怎么使用FileUpload上传文件
    在Idea中使用FileUpload上传文件,可以按照以下步骤操作:1. 在HTML页面中,添加一个文件上传表单:2. 在后端代码中...
    99+
    2023-10-20
    idea
  • C#中怎么使用formdata上传文件
    在C#中使用FormData上传文件可以借助HttpClient类来实现。以下是一个简单的示例代码: using System; u...
    99+
    2024-03-04
    C#
  • vue 使用OSS上传图片或附件讲解
    vue项目中使用OSS上传图片或附件 上传图片和附件这里不做区别;上传的流程都一样; 1、新建oss.js文件,封装使用oss (需要安装包ali-oss) const OSS ...
    99+
    2024-04-02
  • php上传中文文件无法上传问题怎么解决
    php上传中文文件无法上传的解决办法:1、通过“iconv("GBK", "UTF-8", $content);”方法将中文字符编码转换一下;2、将文件重命名即可。本教程操作环境:Windo...
    99+
    2023-05-14
    php 文件
  • 怎么使用GitHub上传文件
    这篇文章主要介绍了怎么使用GitHub上传文件的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇怎么使用GitHub上传文件文章都会有所收获,下面我们一起来看看吧。一、注册GitHub账号首先,在GitHub上传文...
    99+
    2023-07-05
  • php文件上传插件如何使用
    要使用PHP文件上传插件,您需要按照以下步骤进行操作:1. 下载插件:首先,您需要从互联网上下载一个PHP文件上传插件。一些常见的插...
    99+
    2023-10-18
    php
  • vue3中怎么使用el-upload上传文件
    本文小编为大家详细介绍“vue3中怎么使用el-upload上传文件”,内容详细,步骤清晰,细节处理妥当,希望这篇“vue3中怎么使用el-upload上传文件”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。el-...
    99+
    2023-07-06
  • Spring Cloud中怎么使用 Feign上传文件
    Spring Cloud中怎么使用 Feign上传文件,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。加依赖<dependency> <groupId...
    99+
    2023-05-30
    springcloud feign
  • PHP上传文件的使用方法
    本篇内容介绍了“PHP上传文件的使用方法”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!PHP 4.0.3之后PHP又出了一个新函数move_...
    99+
    2023-06-17
  • 怎么使用fileupload控件上传文件
    要使用fileupload控件上传文件,你可以按照以下步骤操作:1. 在HTML页面中添加一个fileupload控件的标签,例如:...
    99+
    2023-08-23
    fileupload
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作