上传多个图片

时间:2016-08-18 16:30:30

标签: php image foreach upload explode

我尝试上传一些用Base64字符串编码的图像,这些字符串是通过char'&'例如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为字符串,   给出的数组    /uploadImage.php 上   第 32

1 个答案:

答案 0 :(得分:1)

只需替换此

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

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

在你的代码中,你可能有

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

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