Wednesday, 3 June 2015

Upload multiple images using Ajax

Upload multiple images using Ajax

index.html

<html>
<head>
<script src="https://code.jquery.com/jquery-2.1.1.min.js" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function (e) {
    $("#uploadF").on('submit',(function(e) {
        e.preventDefault();
        $.ajax({
            url: "upload.php",
            type: "POST",
            data:  new FormData(this),
            contentType: false,
            cache: false,
            processData:false,
            success: function(data){
            $("#gallery").html(data);
            },
              error: function(){}            
       });
    }));
});
</script>
</head>
<body>
    <div class="gallery-bg">
            <form id="uploadF" action="" method="post">
                <div id="gallery">No Images in Gallery</div>
                       <div id="uploadFormLayer">
                            <p class="txt-subtitle">Upload Multiple Image:</p>
                            <!-- <p><input name="userImage" type="file" class="inputFile" /><p>-->
                            <p><input name="userImage[]" type="file" /><p>
                          <p><input name="userImage[]" type="file" /><p>
                          <p><button id="Submit" value="Submit" name="Submit">Submit</button><p>
</div>
</form>

<input type="submit" value="Submit" />
</div>
</body>
</html>




upload.php


<?php
if(is_array($_FILES))
{
    foreach ($_FILES['userImage']['name'] as $name => $value)
    {
        if(is_uploaded_file($_FILES['userImage']['tmp_name']))
        {
            $sourcePath = $_FILES['userImage']['tmp_name'];
            $targetPath = "images/".$_FILES['userImage']['name'];
            if(move_uploaded_file($sourcePath,$targetPath))
            {
?>
                <img src="<?php echo $targetPath; ?>" width="150px" height="180px" />
<?php
            }
        }
    }
}
?>