简体   繁体   中英

Error in uploading multiple images

I am trying to upload multiple images at once here is what i've got so far:

if(isset($_POST['submit']))
{

        $file_name=$_FILES["image"]["name"];

            foreach($file_name as $files)
            {
                $target_path = "Sub_uploads/".$files;

                if(move_uploaded_file($files["image"]["tmp_name"],$target_path)) 
                {   

                    $target_path="Sub_uploads/".$files;

                    $sql   = "INSERT INTO product_images (image) VALUES ('$target_path')"; 
                    $query = mysql_query($sql); 
                }
            }
             echo "<script>alert('data inserted');document.location='Sub_CateGory_image.php'</script>";
}
?>

It seems so that the error occurs at this line: if(move_uploaded_file($files["image"]["tmp_name"],$target_path))

You need to use variable of ForEach $files

if(isset($_POST['submit']))
{

        $file_name=$_FILES;

            foreach($file_name as $files)
            {
                $target_path = "Sub_uploads/".$files["image"]["name"];

                if(move_uploaded_file($files["image"]["tmp_name"],$target_path)) 
                {   

                    $target_path="Sub_uploads/".$files["image"]["name"];

                    $sql   = "INSERT INTO product_images (image) VALUES ('$target_path')"; 
                    $query = mysql_query($sql); 
                }
            }
             echo "<script>alert('data inserted');document.location='Sub_CateGory_image.php'</script>";
}

As you iterate over array of name , the connected tmp_name property will have the same key as current iterated name . So, add a key to your foreach and get a tmp_name under this key:

$file_name = $_FILES["image"]["name"];
foreach($file_name as $key => $files)   // add `$key` here
{
    $target_path = "Sub_uploads/".$files;
    // use `$key` to get connected `tmp_name`
    if(move_uploaded_file($_FILES["image"]["tmp_name"][$key], $target_path)) 
    {   
        $target_path="Sub_uploads/".$files;
        $sql   = "INSERT INTO product_images (image) VALUES ('$target_path')"; 
        $query = mysql_query($sql); 
    }
}

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM