Php 我可以将base64映像添加到$\u文件数组吗?

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

是否有方法将base64图像字符串添加到
$\u FILES
数组(上传文件时获得的数组)中?基本上,我想从base64字符串伪造文件上传。base64字符串来自电子邮件附件。我不想使用
file\u get\u contents()
,因为我想将图像作为二进制图像保存在数据库中。我不需要上传它,但我需要它是
$\u FILES
数组的一部分。

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

  • 您可以使用将其从base64转换为直接文件内容

  • 如果您需要它作为服务器上的文件,您可以使用类似的方法将其另存为新文件

  • 如果您试图对
    $\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文件中
    数组中