Php 我可以将base64映像添加到$\u文件数组吗?
是否有方法将base64图像字符串添加到Php 我可以将base64映像添加到$\u文件数组吗?,php,database,image,base64,Php,Database,Image,Base64,是否有方法将base64图像字符串添加到$\u FILES数组(上传文件时获得的数组)中?基本上,我想从base64字符串伪造文件上传。base64字符串来自电子邮件附件。我不想使用file\u get\u contents(),因为我想将图像作为二进制图像保存在数据库中。我不需要上传它,但我需要它是$\u FILES数组的一部分。上传是将文件内容从客户端(通常是web浏览器)发送到服务器的一种方式。听起来您已经在服务器上获得了所需的数据(用PHP),因此不需要上传 您可以使用将其从base64
$\u FILES
数组(上传文件时获得的数组)中?基本上,我想从base64字符串伪造文件上传。base64字符串来自电子邮件附件。我不想使用file\u get\u contents()
,因为我想将图像作为二进制图像保存在数据库中。我不需要上传它,但我需要它是$\u FILES
数组的一部分。上传是将文件内容从客户端(通常是web浏览器)发送到服务器的一种方式。听起来您已经在服务器上获得了所需的数据(用PHP),因此不需要上传
$\u文件
数组中上载的文件执行其他操作,请提供更多详细信息。不管是什么,你都不需要上传文件$\u FILES
数组实际上并不包含文件的内容-它包含一个保存内容的文件名
如果必须使用$\u FILES
数组(例如,为了重用现有类),则需要使用file\u put\u contents()
保存新的临时文件,然后在$\u FILES
数组中手动添加指向该临时文件的条目(就像修改任何其他数组一样)。完成后不要忘记删除临时文件——这通常由PHP自动处理,但如果手动创建文件,也必须手动删除
我强烈建议重构或者为类提供一个替代接口。您不必假装上传文件只是为了将其保存到数据库。index.php
//https://developer.mozilla.org/en-US/docs/Web/API/FileReader/readAsDataURL
/*简单的*/
函数预览图像(图像、预览、字符串)
{
var fileImage=image.files[0];
var preview=document.querySelector(预览);
var reader=new FileReader();
reader.addEventListener(“加载”,函数(){
preview.style.height=“100”;
preview.title=fileImage.name;
//将图像文件转换为base64字符串
preview.src=this.result;
/* --- */
document.querySelector(string).value=this.result;
},假);
如果(文件映像)
{
reader.readAsDataURL(fileImage);
}
}
document.querySelector(“#imageID”).addEventListener(“change”,function()){
预览图像(此“#imagePreviewID”、“#imageStringID”);
} )
/*简单| |*/
标题:
文件上传:
预览:
字符串base64:
base64字符串在哪里?在客户端的javascript?请提供更多的上下文-谁/什么在上传文件?base64字符串来自电子邮件附件。所以PHP@JCSANYSO您已经在PHP中获得了它-您要将其上载到哪里?不同的服务器?不是来自任何服务器,它只是一个base64字符串,都是本地的,但我想“上传”它,所以我需要它在文件数组中@JCSANYI就像我说的,我不想让它把内容归档。。。因为我需要它“上传”到数据库,而不是在base64中。所以我去解码,所以它是二进制/图像。我希望它位于$\u文件数组中。$\u文件
数组和上载都与数据库无关。$\u FILES
数组只是您访问从浏览器发送给您的文件内容的一种方式。您已经获得了文件的内容,因此不需要$\u FILES
数组。我构建了一个php类,可以从$\u FILES数组将的文件添加到数据库中,它会创建一个散列,等等。我知道我不需要它,我只想把它放在$\u文件中
数组中