gpt4 book ai didi

php - 我可以将 base64 图像添加到 $_FILES 数组吗?

转载 作者:可可西里 更新时间:2023-11-01 01:03:11 24 4
gpt4 key购买 nike

有没有办法将 base64 图像字符串添加到 $_FILES 数组(上传文件时得到的数组)?基本上,我想从 base64 字符串伪造文件上传。 base64 字符串来自电子邮件附件。我不想使用 file_get_contents(),因为我想将图像作为二进制图像保存在数据库中。我不需要上传它,但我确实需要它成为 $_FILES 数组的一部分。

最佳答案

上传是一种将文件内容从客户端(通常是网络浏览器)发送到服务器的方法。听起来你已经在服务器上获得了你需要的数据(用 PHP),所以你不需要上传它。

  1. 您可以使用 base64_decode()将其从 base64 转换为直接文件内容。

  2. 如果您需要它作为您服务器上的一个文件,您可以使用像file_put_contents() 这样的东西。将其另存为新文件。

  3. 如果您尝试对 $_FILE 数组中的上传文件执行其他操作,请提供更多详细信息。无论是什么,您都不需要实际上传文件。


$_FILES 数组实际上并不包含文件的内容 - 它包含保存内容的文件名。

如果您必须使用 $_FILES 数组(例如,为了重新使用现有的类),您需要使用 file_put_contents() 来保存一个新的临时文件,然后在指向该临时文件的 $_FILES 数组中手动​​添加一个条目(就像修改任何其他数组一样)。完成后不要忘记删除临时文件 - 这通常由 PHP 自动处理,但如果您手动创建文件,则也必须手动删除它。

不过,我强烈建议重构或为您的类提供替代接口(interface)。您不必为了将文件保存到数据库而假装文件已上传。

关于php - 我可以将 base64 图像添加到 $_FILES 数组吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17802886/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com