上传多张图片

Upload multiple images

我尝试上传一些用 Base64 字符串编码的图像,通过字符 '&' 分隔,例如base64图像&base64图像&base64图像。但是我的代码

$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";
}

给我这个错误

Warning: base64_decode() expects parameter 1 to be string, array given in /uploadImage.php on line 32

只需替换这个

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

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

在你的代码中,你可能有

$splittedStr[0] => array(image1,image2, ...)

并且,如果 file_get_contents 失败,您应该使用数据库事务来避免无效数据。