加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php – 如何判断文件名中是否有加号()?

发布时间:2020-12-13 17:00:19 所属栏目:PHP教程 来源:网络整理
导读:因此,AWS会将空间转换为存储桶/文件URL.但是已经包含的文件名编码为+.我很困惑如何处理这种情况. 当应用程序的输入URL是: https://s3-us-west-2.amazonaws.com/mybucket/Pul0419_32_a+b.zip 如何判断实际存在的文件是Pul0419_32_a b.z??ip还是Pul0419_32_a
因此,AWS会将空间转换为存储桶/文件URL.但是已经包含的文件名编码为+.我很困惑如何处理这种情况.

当应用程序的输入URL是:

https://s3-us-west-2.amazonaws.com/mybucket/Pul0419_32_a+b.zip

如何判断实际存在的文件是Pul0419_32_a b.z??ip还是Pul0419_32_a b.z??ip

解决方法

我是AWS爱好者,我必须承认S3的原始架构师在决定在URL的路径中应该被解释为等同于ASCII 0x20(“space”)时犯了一个非常不幸的错误.

当查询字符串的一部分时,该字符仅包含此含义.在路径上,它should have been interpreted literally.

在正确编码和解释的URL的路径中,相当于+.

那么,问题没有可靠的答案,因为导致S3错误处理正确URL的根本缺陷.

鉴于如果浏览器使用示例URL,S3会认为这些是空格,您可能最好通过将URL转换为使用+来改善您的兴趣,而是在与S3的交互中原样使用它. ..除非实际经验表明这些URL的原始来源实际上已经与S3进行了交互并确实将它们转换为+而没有将它们存储起来以供后续使用一致编码,在这种情况下,可以认为可以将它们提供给您错了,但你可能不得不改变它们,原因可能是政治上的而不是技术性的.

但是,正如你似乎已经怀疑的那样,答案并不简单.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读