php对接AWS S3云存储,上传S3及访问权限问题
首先先下载sdk包
https://docs.aws.amazon.com/zh_cn/sdk-for-php/v3/developer-guide/getting-started_installation.html
S3创建存储桶

去安全凭证-》创建访问秘钥

创建的时候会提示,主账号创建不安全,这个时候我们需要创建一个IAM账号来创建秘钥
创建的步骤访问这个链接 https://www.codenong.com/a513c91eac7186db59fe/
创建之后来到代码这一块
//$keyName是存储S3的路径
//$filepath是本地图片的路径
awsUploadFile($keyName, $filepath);
//删除本地文件
unlink('.' . $resultData['url']);function awsUploadFile($keyName, $filepath)
{//引入文件require_once '../extend/aws/aws-autoloader.php';// set_time_limit(0);$awsConfig = ['version' => 'latest',//版本'acl' => 'public-read',//权限//这个一定要加,是访问权限'bucket' => config('site.S3bucket'),//存储桶名称'region' => 'ap-southeast-1',//区域 和 亚马逊资源服务器创建的桶块区域一致'key_id' => config('site.S3key_id'),//Access key ID'access_key' => config('site.S3access_key'),//Secret access key];//实例化$credentials = new Aws\Credentials\Credentials($awsConfig['key_id'],$awsConfig['access_key']);$s3 = new Aws\S3\S3Client(['version' => $awsConfig['version'],//版本'region' => $awsConfig['region'],//区域'credentials' => $credentials,]);if(!file_exists($filepath)){dump('file does not exist');exit;}
// $http = new GuzzleHttp\Client();
// $res = $http->request('GET', $filepath);try {$result = $s3->putObject(['Bucket' => $awsConfig['bucket'],'Key' => $keyName,'Body' => fopen($filepath, 'r'),'ACL' => 'public-read',//这个一定要加,是访问权限
// 'Body' => $res->getBody(),
// 'ContentLength' => $res->getHeader('content-length')[0],]);} catch (Exception $exception) {echo "Failed to upload $filepath with error: " . $exception->getMessage();exit("Please fix error with file upload before continuing.");}return $result;
}
如果是手动上传的文件需要开一下权限

相关文章:
php对接AWS S3云存储,上传S3及访问权限问题
首先先下载sdk包 https://docs.aws.amazon.com/zh_cn/sdk-for-php/v3/developer-guide/getting-started_installation.html S3创建存储桶 去安全凭证-》创建访问秘钥 创建的时候会提示,主账号创建不安全,这个时候我们需要创建一个IAM账号来创建秘钥 创…...
java 实现单例模式
单例模式是一种设计模式,用于确保一个类只有一个实例,并提供一种全局访问该实例的方式。在Java中,可以使用多种方式来实现单例模式,下面整理了几种常见的实现方式。 饿汉式单例模式(Eager Initialization)&…...
minio文件服务器开启https
一、准备证书 你要有https安全证书,我的是适用于nginx的证书 私钥 xxxx.key 公钥 xxxx.pem 二、上传证书到minio服务器 然后看看你的minio docker 有没有把 /root/.minio 挂载在主机上,如果有那么把两个证书文件放在/root/.minio/certs目录里面。…...
每日刷题(回溯法经典问题之子集)
食用指南:本文为作者刷题中认为有必要记录的题目 前置知识:回溯法经典问题之组合 ♈️今日夜电波:想着你—郭顶 1:09 ━━━━━━️💟──────── 4:15 …...
PostgreSQL在进行除法时要注意
背景 整型除以整型,正常情况下当然得到的应该也是整型。数据库也是这么干的。 但是在数据库应用中,通常业务的需求是得到NUMERIC,不能直接把小数干掉。 数据库的行为给用户带来了诸多不便,例如1除以2,如果是整型除法会…...
开开心心带你学习MySQL数据库之第五篇
😺欢迎来到我的博客, 记得点赞👍收藏⭐️留言✍️🐱 🐉做为一个怪兽,我的目标是少消灭一个奥特曼🐉 📖希望我写的博客对你有所帮助,如有不足,请指正📖 chatgpt 是否能够代替程序猿?…...
Geotools对geojson的解析
在 GeoTools 中,对 GeoJSON 的支持是通过一个插件来完成的,用户同样可以在 Maven 的 pom.xml 配置文件中添加下述的依赖。 <dependency><groupId>org.geotools</groupId><artifactId>gt-geojson</artifactId><version&…...
【博客701】shell实现保留网络现场:ping失败时执行mtr
shell实现保留网络现场:ping失败时执行mtr 场景 当我们网络出现抖动,到某个目的地ping不通时,我们想知道路径上哪里出现问题时可以在那时候执行mtr并保留下现场以供排查 实现:ping_and_mtr.sh #!/bin/bash# 定义要ping的IP地址列…...
放弃手写代码吧!用低代码你能生成各种源码
很多同学不知道为什么要用Low-code做开发,传统IT开发不行么?当然可以。 传统IT自研软件开发,通过编程去写代码,还有数据库、API、第三方基础架构等。这个方式很好,但不可避免的会带来开发周期长、难度大,技…...
什么程度才算精通 Linux?
前言 Linux 的优秀之处自然不必多说。 如果将操作系统比作一辆汽车,那 Linux 就是一辆性能出色的多功能越野车,上山下海飞天无所不能。 如果你拥有了它,一定不会只满足于驾驶它上下班,不能只会挂挡、踩油门和控制方向之类的基本…...
jmeter中的__setProperty用法
__setProperty 是一个用于设置 JMeter 属性的函数,基本语法: __setProperty(property, value)** property : 是要设置的属性的名称 ** value : 是要设置的属性的值在 JMeter中,可以使用 __setProperty 函数的元素: BeanShell …...
vue基础知识六:v-show和v-if有什么区别?使用场景分别是什么?
一、v-show与v-if的共同点 我们都知道在 vue 中 v-show 与 v-if 的作用效果是相同的(不含v-else),都能控制元素在页面是否显示 在用法上也是相同的 <Model v-show"isShow" /> <Model v-if"isShow" />当表达式为true的时候&#…...
SpringBoot几个常用的注解
(1)RestController和Controller指定一个类,作为控制器的注解 (2)RequestMapping方法级别的映射注解,这一个用过Spring MVC的小伙伴相信都很熟悉 (3)EnableAutoConfiguration和Spri…...
腾讯JAVA后端秋招面试总结
腾讯秋招的面经,岗位是 java 后端开发。 说一下BIO、NIO和AIO 答: BIO是阻塞IO。在上一个线程的任务执行完之前,该线程必须阻塞等待上一个线程执行完毕。 NIO是非阻塞IO。一旦是响应事件发生了,该线程就会将对应的响应事件交给对应的事件处理器进行处理。 AIO是异步IO。主…...
随着iPhone 15降临,是时候扔掉所有的Lightning充电器了
自从苹果推出Lightning端口(一直追溯到iPhone 5)十多年后,你可能已经积累了相当多的Lightning电缆和配件。好吧,在下周的苹果活动之前,所有关于iPhone 15的传言都表明你不再需要它们了。 与最好的iPad和最好的MacBook…...
huggingface 使用入门笔记
概念 Hugging Face Hub和 Github 类似,都是Hub(社区)。Hugging Face可以说的上是机器学习界的Github。Hugging Face为用户提供了以下主要功能: 模型仓库(Model Repository):Git仓库可以让你管理代码版本、…...
ASP.NET Core 中的 Razor Pages
Razor Pages Razor Pages 是基于页面的 ASP.NET Core Web App 架构。 相比 MVC 模式,Razor Pages的生产效率更快。 Razer Pages 需要两个中间件: builder…Services.AddRazorPages 添加 Razor Pages servicesapp.MapRazorPages 添加 Razor Pages endpo…...
C语言入门 Day_14 for循环
目录 1.for循环 2.循环执行顺序 3.易错点 4.思维导图 前言 我们定义了一个数组以后,要使用(读取或者修改)数组元素的话,可以一个一个的读取,就前两课学的那样,代码类似这个结构。 int …...
深入解析 Socks5 代理与网络安全
作为网络工程师和网络文章主编,我们时刻关注着网络世界中的新趋势和技术发展。本文将探讨 Socks5 代理、代理IP、网络安全以及与之相关的 HTTP 协议,为您呈现一个深入的技术洞察。 引言 在今天的互联网时代,网络安全是至关重要的话题。攻击…...
Vue + Element UI 前端篇(十二):用户管理模块
Vue Element UI 实现权限管理系统 前端篇(十二):用户管理模块 用户管理模块 添加接口 在 http/moduls/user.js 中添加用户管理相关接口。 import axios from ../axios/* * 用户管理模块*/// 保存 export const save (params) > {ret…...
图像修复效率提升:设计师与开发者必备的7个开源AI模型应用技巧
图像修复效率提升:设计师与开发者必备的7个开源AI模型应用技巧 【免费下载链接】ComfyUI-BrushNet ComfyUI BrushNet nodes 项目地址: https://gitcode.com/gh_mirrors/co/ComfyUI-BrushNet 在数字创作与内容修复领域,如何快速高效地消除图像瑕疵…...
杰理之spp收发数据处理没有找到的问题处理【篇】
原因:开启#define CONFIG_APP_BT_ENABLE 宏配置后,spp的收发处理的回调默认会被库里面接管,所以在app层是看不到的。...
电子工程师如何提升专业英语能力
电子工程师的专业英语能力培养指南 1. 技术英语的重要性 1.1 行业历史背景 半导体IC产业起源于硅谷,从仙童半导体到Intel的发展历程奠定了现代电子技术的基础。编程语言从最早的机器语言发展到现代高级语言,操作系统从CP/M演进到今天的Windows、Linux和…...
【图灵完备(Turing Complete)】五、从逻辑门到LEG:指令集与条件跳转的构建
1. 从逻辑门到处理器:LEG架构的诞生之路 记得我第一次用面包板搭建简单逻辑电路时,连个LED灯闪烁都要折腾半天。而现在我们要做的,是把这些基础逻辑门像乐高积木一样拼接成真正的处理器核心。LEG架构的设计初衷就是要解决原始图灵机指令宽度受…...
3大核心能力解析:open_nsfw如何为企业构建智能内容安全防线
3大核心能力解析:open_nsfw如何为企业构建智能内容安全防线 【免费下载链接】open_nsfw yahoo/open_nsfw: 是一个由Yahoo开发的开放源代码的非成人内容过滤工具。适合用于需要过滤成人内容的网站或应用。特点是可以识别和过滤掉不适宜的内容,保护用户免受…...
群晖NAS人脸识别功能解锁指南:让旧设备焕发AI新活力
群晖NAS人脸识别功能解锁指南:让旧设备焕发AI新活力 【免费下载链接】Synology_Photos_Face_Patch Synology Photos Facial Recognition Patch 项目地址: https://gitcode.com/gh_mirrors/sy/Synology_Photos_Face_Patch 为何老款群晖NAS需要AI能力升级&…...
CasRel在电商商品知识图谱中的应用:标题-品牌-品类-功效三元组生成
CasRel在电商商品知识图谱中的应用:标题-品牌-品类-功效三元组生成 1. 理解CasRel关系抽取模型 CasRel(Cascade Binary Tagging Framework)是一个专门从文本中自动提取结构化信息的智能模型。想象一下,你有一大段描述商品的文字…...
OpenClaw儿童模式:基于百川2-13B打造家长控制的作业辅导助手
OpenClaw儿童模式:基于百川2-13B打造家长控制的作业辅导助手 1. 为什么需要AI作业辅导助手? 作为两个小学生的家长,我深刻体会到辅导作业的"痛"。每天晚上检查数学题、批改作文、讲解错题的过程,常常让亲子关系变得紧…...
交换机堆灰指南:为什么你的HSRP热备切换总超15秒?从生成树到接口追踪的完整排错
交换机堆灰指南:为什么你的HSRP热备切换总超15秒?从生成树到接口追踪的完整排错 当核心交换机的HSRP切换时间超过15秒,业务中断的每一毫秒都在考验运维团队的神经。这不是简单的协议超时问题,而是网络冗余架构中多个子系统协同失效…...
从零开始学SCL:手把手教你实现天塔之光、数码管显示等工业控制案例(含避坑指南)
从零开始学SCL:手把手教你实现天塔之光、数码管显示等工业控制案例(含避坑指南) 工业自动化领域中,PLC编程是核心技能之一。而SCL(Structured Control Language)作为IEC 61131-3标准中的高级文本语言&#…...
