How To Multiple Image Upload In Php

Uploading multiple images simultaneously is a common requirement in web development projects. In this blog post, we will discuss how to implement multiple image uploads in PHP. We will cover the following topics:

  • HTML form setup
  • PHP code to handle multiple image upload
  • Displaying uploaded images

HTML Form Setup

First, we need to create an HTML form that allows users to select multiple images. To do this, we use the input tag with the type attribute set to “file” and the name attribute set to an array, like “images[]”. Lastly, add the multiple attribute to enable multiple file selection.

Here’s the HTML code for the form:

    <form action="upload.php" method="post" enctype="multipart/form-data">
        <label for="images">Select images to upload:</label>
        <input type="file" name="images&#91;&#93;" id="images" multiple>
        <input type="submit" value="Upload Images" name="submit">

PHP Code to Handle Multiple Image Upload

Now, we need to create a PHP script to handle the uploaded images. In this example, we’ll save the uploaded images in a folder named “uploads”. Make sure this folder exists and has write permissions on your server.

Create a file named “upload.php” and add the following code:

                } else {
                    $errors[] = "Sorry, there was an error uploading " . $fileName;
            } else {
                $errors[] = "Sorry, only JPG, JPEG, PNG &amp; GIF files are allowed. " . $fileName . " is not allowed.";

        // Display errors if any
        if (!empty($errors)) {
            foreach ($errors as $error) {
                echo "<div style="color: red">$error</div>";

Displaying Uploaded Images

After uploading the images, you may want to display them on your web page. The following code snippet will display all the images stored in the “uploads” folder:

That’s it! You have now learned how to implement multiple image uploads in PHP. With this feature, you can easily manage and display multiple images on your website.