PHP Amazon S3 上传和标签

2024-01-19

我正在编写一个视频共享网站。我正在使用 S3 来存储和提供视频。我已经在 MySQL 数据库中为视频编写了标签,但我发现 S3 支持上传文件上的设置标签。这是我用来上传文件的代码:

try {
                //Create a S3Client
                $s3Client = new S3Client([
                    'region' => 'us-east-1',
                    'version' => 'latest',
                    'credentials' => [
                        'key' => '',
                        'secret' => ''
                    ]
                ]);
                $result = $s3Client->putObject([
                    'Bucket' => $bucket,
                    'Key' => $assetFilename,
                    'SourceFile' => $fileTmpPath,
                    'Metadata'   => array(
                        'title' => $requestAr['title'],
                        'description' => $requestAr['description']
                    )
                ]);
                $s3Client->waitUntil('ObjectExists', array(
                    'Bucket' => $bucket,
                    'Key'    => $assetFilename
                ));
            } catch (S3Exception $e) {
                returnError($e->getMessage());
            }

这是一个由 2 部分组成的问题。首先,我如何在这里指定标签?我找不到任何 PHP 示例。接下来,假设有人上传视频并在其上添加了标签。 S3 标签是键/值对。我应该为按键设置什么?我正在考虑为每个视频使用 [tag1, tag2, tag3] 之类的东西,这些值就是标签字符串。这是 S3 标签文档:https://docs.aws.amazon.com/AmazonS3/latest/dev/object-tagging.html https://docs.aws.amazon.com/AmazonS3/latest/dev/object-tagging.html


要设置对象标签,只需传递Tagging元素到putObject()参数。在你的情况下,它会是这样的:

$result = $s3Client->putObject([
    'Bucket' => $bucket,
    'Key' => $assetFilename,
    'SourceFile' => $fileTmpPath,
    'Tagging' => 'category=tag1', // your tag here!
    'Metadata'   => array(
        'title' => $requestAr['title'],
        'description' => $requestAr['description']
    )
]);

注意标签很简单key=value细绳。作为“提前思考”的措施,我会将标签设为category=tagValue,这样您就可以对它们进行分类并最终添加更多标签类别。如果你这样做tag1=true,那么它很快就会变得混乱。

  • putObject() 参考 http://docs.aws.amazon.com/aws-sdk-php/v3/api/api-s3-2006-03-01.html#putobject
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

PHP Amazon S3 上传和标签 的相关文章

  • Laravel leftJoin 仅右表的最后一条记录

    我是 Laravel 的新手 我有两张桌子 1 产品 2 价格 products id product int p key name varchar prices id price int p key id product int
  • 检查 $_POST 数据

    我正在对表单进行一些垃圾邮件检查 下面的代码在我的本地主机上正常工作 如果为 true 则重定向到 google com 但是 当它在生产服务器上时却不起作用 执行脚本的其余部分并且不重定向到 Google com if POST SERV
  • 使用 php-ews(Exchange Web 服务)在特定日期后获取电子邮件

    在我的 PHP 脚本中 我需要弄清楚如何检索指定消息 ID 之后或特定日期之后的所有电子邮件 两者都可以 我只需要检索自上次抓取收件箱以来的新电子邮件 这个收件箱每天收到数千封电子邮件 而且我在 30 天内无法删除任何电子邮件 对于初始导入
  • 免费 PHP 登录库 [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • CodeIgniter 自定义库未加载

    我是 CodeIgniter 的新手 并尝试用它开发一个相当简单的应用程序 只是一个用于处理想要娱乐中心通行证的员工的注册的表单 我正在尝试将事物分开以使它们更清晰 这是代码 应用程序 控制器 reccenter php class Rec
  • 用户可以更改 PHP 中 $_SESSION 的值吗?

    这是我的想法 我想知道是否可能 将信息存储在 PHP 的 SESSION 变量中有多安全 在 SESSION 变量中存储变量有两个潜在的 不安全 风险 另一个答案所描述的第一个称为 会话固定 这里的想法是 由于会话 ID 存储在 cooki
  • PHP 通过 SSL 连接到 MS SQL

    我想要实现的目标非常简单 我想通过安全连接从 PHP 脚本连接到外部 MS SQL 数据库 然而 这已被证明是有问题的 到目前为止 经过三个小时的研究 我不知所措 客户端的平台是Ubuntu 这意味着我无法使用SQLSRV 安全连接已经在不
  • 无法访问 localhost/xampp/index.php

    我刚刚安装了 Windows 7 的 XAMPP 控制面板似乎工作正常 我启动了 MySql 和 Apache 我遇到的问题是 当我在浏览器 Google Chrome 中输入 localhost 时 它会将我发送到 http localh
  • PHP:读取所有传入 HTTP 请求的类 [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 使用 PHP/linux 将文件合并为单个 PDF

    我正在研究如何将多个 PDF 合并为一个 PDF 我正在寻找一个图书馆可靠且坚固尽可能 最好有一个库可以保留书签 鬼脚本 http pages cs wisc edu ghost 可以在保存书签的位置进行连接 但我遇到了麻烦 在一种情况下它
  • 在哪里可以学习网络编程从入门到精通? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我尝试做教程 但它是无组织且无结构的 我在哪里可以学习 PHP 从初学者到大师 我正在寻找类似的网站w
  • 分页显示所有其他页面上第 1 页的相同帖子

    我最近在创建即将发生的事件列表时得到了很多帮助 请参阅此处显示即将举行的活动 包括今天的活动 https stackoverflow com questions 17343615 showing upcoming events includ
  • Facebook PHP-SDK 页面刷新后似乎丢失了 userID

    我似乎登录工作正常 我可以登录 接受应用程序 第一次 然后显示用户信息 例如姓名 图片 等 然而 当我刷新页面时 userid 又回到 0 我必须再次登录 我不确定问题是什么 我必须在每次页面加载时重新启动它还是什么 我不知道 我会发布一些
  • 如何处理 REST api 中的 php 通知、警告和错误?

    在 REST API 中 200 响应表明操作成功 PHP 默认情况下直接在响应正文中输出错误消息 而不更改响应代码 在 SPA 中 用户无法直接看到响应文本 因此 当应用程序未按预期工作时 我通过 FireBug 检查响应正文 以检查可能
  • php - 解析html页面

    div divbox div p para1 p p para2 p p para3 p table class table tr td td tr table p para4 p p para5 p 有人可以告诉我如何解析这个 html
  • 字符串相似度的算法(比Levenshtein和similar_text更好)? php, Js

    在哪里可以找到比 levenshtein 和 phpimilar text 方法更准确地评估错误字符的拼写的算法 Example similar text jonas xxjon similar echo similar returns 6
  • PHP 中的 -> 和 :: 有什么区别?

    这个东西困扰我好久了 一直找不到 在 php 中使用 和 gt 之间的类有什么区别 让我举个例子 想象一个名为 MyClass 的类 该类中有一个函数 myFunction 使用有什么区别 MyClass myclass new MyCla
  • PHP 表单 - 带验证蜜罐

    我有以下内容 效果很好 但对垃圾邮件机器人开放 我想放入蜜罐 而不是验证码 下面的代码适用于验证姓名 电子邮件 消息 但我无法让它与蜜罐一起工作 任何人都可以查看 蜜罐 代码并告诉我如何修复它吗 我希望表单给出 success2 不允许垃圾
  • 使用 Vue 的多模式组件

    我在 Vue 中实现动态模式组件时遇到问题 A common approach I follow to display a set of data fetched from the db is I dump each of the rows
  • Laravel 搜索关系

    我有两个相关的模型 我正在尝试在产品中进行搜索 并且仅显示实际搜索结果 而不是找到该产品的类别的所有产品 我不想搜索任何类别 因为无论搜索什么或找到什么 类别都会始终显示 Example I have the following categ

随机推荐

  • 通过传递带有要选择的列名称的有序向量,对 dplyr 中的列进行动态排序

    我使用下面的代码生成一个简单的汇总表 Data data mtcars Lib require dplyr Summary mt sum lt mtcars gt group by am gt summarise each funs min
  • php 回显尖括号

    我想在页面上显示文本 文本应该如下所示
  • CASE 语句未正确定义列雪花

    我有一个以下格式的查询 用于执行COALESCE以及使用定义一个新列CASE陈述 SELECT COALESCE mm1 missing AS mm1 COALESCE mm2 missing AS mm2 CASE WHEN mm1 fa
  • HTML::PullParser 随机分割文本元素

    我正在使用 Perl 模块HTML PullParser 我注意到它有时会随机分割文本元素 据我所知 例如 如果我有一个 html 文件test html与内容 font style font family none size 2 THE
  • 确定掷骰子中数字出现的频率

    对于游戏 我试图确定在给定的骰子数量下特定的 出现的频率 我知道 这个问题看起来很奇怪 让我尝试用实际数字来解释它 因此 对于 1 个骰子 每个数字的频率将相同 1 6 将出现相同的次数 现在对于 2 个骰子 情况会变得不同 我想 5 6
  • 无法为 Facebook 测试用户添加当前城市

    我正在开发基于位置的功能 因此在测试应用程序下创建了一些 Facebook 测试帐户 我试图为所有测试用户添加当前城市 手动 但 Facebook 在输入城市时抛出以下错误 您请求的内容现在无法显示 可能是 暂时不可用 您点击的链接可能已过
  • Linux 下的 Ruby 不区分大小写地打开文件

    有没有办法在Linux下的Ruby中不区分大小写地打开文件 例如 给定字符串foo txt 我可以打开该文件吗FOO txt 一种可能的方法是读取目录中的所有文件名并手动搜索所需文件的列表 但我正在寻找一种更直接的方法 一种方法是编写一个小
  • 将 EAR 模块转为 OSGI 包的正确方法

    有必要将 EAR 的一部分 即战争 转变成 OSGI 包并保留其互操作性 Glassfish 3 0 1 已经有了osgi web container模块 我成功部署了独立的 OSGI war 但如果是前企业战争 我觉得有点困难 我该如何处
  • solr 地理层次结构

    我一直在试图找出一种在 solr 中实现层次结构分面的方法 但不知道在我的情况下如何做到这一点 我读过几篇关于在 solr 中进行层次结构的文章以及补丁 64 和 792 中的解决方案 我遇到的主要问题是我的实体可以属于层次结构的多个分支
  • R ggplot2 - 简单绘图 - 无法指定对数轴限制

    我正在尝试在 R 中的 ggplot2 中创建一个简单的密度图 这是我的代码 效果很好 d lt ggplot result aes x result baseMeanA d geom density colour darkgreen si
  • 如何将 java.time.Instant 格式化为本地时区的字符串?

    如何格式化javax time Instant http threeten sourceforge net apidocs 2011 01 07 javax time Instant html作为本地时区的字符串 以下是本地翻译的Insta
  • RadDateTimePicker + 用于数据输入的掩码

    要求 允许用户以 格式输入日期 同时还可以从 DatePicker 中选择日期 假设输入的所有年份都是 2000 年之后 例如 用户输入 050513 它会变成 5 5 2013年 或者 如果他们从 DatePicker 中选择它 则提供相
  • Scalatest 和 Spark 给出“java.io.NotSerializedException:org.scalatest.Assertions$AssertionsHelper”

    我正在借助 测试 Spark Streaming 应用程序com holdenkarau spark 测试基地 and 分级测试 import com holdenkarau spark testing StreamingSuiteBase
  • Rails 包含范围

    我有一个名为 Author 的模型 一个作者有很多文章 文章有一个名为 published 的范围 它的作用是 where published true 我想加载作者以及已发表的文章 我试过 Author includes articles
  • Pandas 的部分总和和小计

    I m trying to achieve a table with subtotals as shown here http pandas pydata org pandas docs stable cookbook html pivot
  • pandas 行值到列标题

    我有一个像这样的数据框 df pd DataFrame id1 1 1 1 1 2 2 2 id2 1 1 1 1 2 2 2 value a b c d a b c id1 id2 value 0 1 1 a 1 1 1 b 2 1 1
  • 使用 Google Maps API 绘制地图路径/航点并播放路线

    我试图在播放映射路线时绘制访问的路径 如下例所示 加载地图时 我希望绘制的点 A B C D E 然后 F 依次连接 我已成功绘制了这些点 但无法将这些点逐个动态链接 这是我的代码
  • UICollectionView 单元格视图重叠

    我的单元格重叠 如下所示 my cellForItemAtIndexPath是这样的 func collectionView collectionView UICollectionView cellForItemAtIndexPath in
  • 如何在 Windows 窗体应用程序中构建启动屏幕?

    我需要在应用程序启动时显示启动画面几秒钟 有人知道如何实施吗 将非常感谢您的帮助 首先 将启动屏幕创建为无边框 不可移动的形式 并在其上显示图像 设置为最初显示在屏幕中央 并按您想要的方式着色 所有这些都可以在设计器内部设置 具体来说 您想
  • PHP Amazon S3 上传和标签

    我正在编写一个视频共享网站 我正在使用 S3 来存储和提供视频 我已经在 MySQL 数据库中为视频编写了标签 但我发现 S3 支持上传文件上的设置标签 这是我用来上传文件的代码 try Create a S3Client s3Client