Php 上传多张图片

Php 上传多张图片,php,image,foreach,upload,explode,Php,Image,Foreach,Upload,Explode,我尝试上传一些用字符“&”分隔的Base64字符串编码的图像,例如base64image&base64image&base64image。但是我的代码 $id = $_POST["id"]; $Image64 = $_POST["Image64"]; $Beschreibung = $_POST["Beschreibung"]; $Image = $_POST["Image"]; $counter = 0; $serverPath = $_SERVER['DOCUMENT_ROOT']; $

我尝试上传一些用字符“&”分隔的Base64字符串编码的图像,例如base64image&base64image&base64image。但是我的代码

$id = $_POST["id"];
$Image64 = $_POST["Image64"];
$Beschreibung = $_POST["Beschreibung"];
$Image = $_POST["Image"];
$counter = 0;


$serverPath = $_SERVER['DOCUMENT_ROOT'];
$path = "$id";

$query = "UPDATE `hausaufgaben` SET `Loesung_Image` =  '$Image'  WHERE `id`= '$id';";
    if(mysqli_query($connect,$query)){
        $counter += 1;
        $splittedStr = explode('&',$Image64);
        foreach($splittedStr as $value){
            echo "$value";
            file_put_contents("Image.jpg",base64_decode($value)); //line 32
            rename("Image.jpg", "$serverPath/Hausaufgabenplaner/Bilder/Loesungen/$path=$counter.jpg");
        }
        echo "Successfully Uploaded Images";
}
给我这个错误

警告:base64_decode()要求参数1为字符串, 中给出的数组 /上载image.php到 第32行

把这个换掉

    $splittedStr[] = explode('&',$Image64);

在您的代码中,您可能有

$splittedStr[0]=>数组(图像1、图像2等)


而且,如果
文件获取内容失败,您应该使用数据库事务来避免无效数据。

检查
$value
的值是多少?@Script47 value不是splittedStr数组的一部分吗?返回一个数组。因此,每个
$value
都将是一个数组
base64_decode
“期望参数1是字符串”。@showdev为什么$value应该是数组?好的,我如何转换字符串中的$value?或者最好的方法是什么?我现在没有得到错误代码,但是创建的文件有0个字节(并且只创建了1个文件),您能看到
$value
变量中有哪些信息吗?给我们看前20个字符,这样我们就可以检查它的格式是否正确。E/VOLLEY:/9j/4aaqskzjrgabaqaaqaaqaabad/2wbdaaaebaqebaqebaqebaqebaqebaqebaqebaqebaqebaqebaqebaqebaqebaqebaqebaqebaqebaqebaqebaqebaqebaqebaqebaqebaqebaqebaqebaqeb。这部分内容可能是错误的。仔细检查您的数据编码方式。您还有其他建议吗?
    $splittedStr = explode('&',$Image64);