上传是将文件内容从客户端(通常是网络浏览器)发送到服务器的一种方式。听起来您已经在服务器上获得了所需的数据(以 PHP 形式),因此无需上传。
您可以使用base64_decode()它将其从 base64 转换为直接文件内容。
如果您需要将其作为服务器上的文件,则可以使用类似file_put_contents()将其另存为新文件的方法。
如果您尝试对数组中上传的文件执行其他操作$_FILE,请提供更多详细信息。无论是什么,您都不需要实际上传文件。
该$_FILES数组实际上并不包含文件的内容 - 它包含保存内容的文件名。
如果必须使用$_FILES数组(例如,为了重用现有的类),则需要使用它file_put_contents()来保存新的临时文件,然后手动向数组添加一个$_FILES指向该临时文件的条目(只需就像修改任何其他数组一样)。完成后不要忘记删除临时文件 - 这通常由 PHP 自动处理,但如果您手动创建文件,则也必须手动删除它。
不过,我强烈建议您重构或为您的类提供替代接口。您不必假装文件已上传只是为了将其保存到数据库中。