File Upload with Progress Bar using jQuery Ajax and PHP Example

By Hardik Savani May 14, 2024 Category : PHP jQuery

Hey Developer,

In this tutorial, I will show you image upload with progress bar jquery php example. if you want to see an example of video upload with progress bar in php then you are in the right place. I explained simply step by step jquery file upload progress bar percentage. In this article, we will implement a file upload progress bar with form jquery. Alright, let’s dive into the steps.

Sometimes we require to show progress bar with percentage on file upload, because sometimes if we upload large size of file then we should too much wait without known perfect time. So at that time if we add progress bar with percentage then it is more comfort then other, that way user can see how much time it will take and how much upload.

In this example i going to give you File upload progress bar with percentage using form jquery example in php. in this example i use form js that way we can upload using ajax and we don't need to page refresh. in this example you have to create only two file one index.php and other one uploadpro.php this is much easy. After this example you will find bellow preview:

Preview:

index.php

<html lang="en">

<head>

<title>File upload progress bar with percentage using form jquery example</title>

<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" >

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7/jquery.js"></script>

<script src="http://malsup.github.com/jquery.form.js"></script>

<script>

$(document).ready(function() {


var progressbar = $('.progress-bar');


$(".upload-image").click(function(){

$(".form-horizontal").ajaxForm(

{

target: '.preview',

beforeSend: function() {

$(".progress").css("display","block");

progressbar.width('0%');

progressbar.text('0%');

},

uploadProgress: function (event, position, total, percentComplete) {

progressbar.width(percentComplete + '%');

progressbar.text(percentComplete + '%');

},

})

.submit();

});


});

</script>

</head>

<body>

<nav class="navbar navbar-default">

<div class="container-fluid text-center">

<div class="navbar-header">

<a class="navbar-brand" href="#">ItSolutionstuff.com</a>

</div>

</div>

</nav>

<div class="container text-center">

<h2>PHP - File upload progress bar and percentage with jquery</h2>

<div style="border: 1px solid #a1a1a1;text-align: center;width: 500px;padding:30px;margin:0px auto">

<form action="uploadpro.php" enctype="multipart/form-data" class="form-horizontal" method="post">


<div class="preview"></div>

<div class="progress" style="display:none">

<div class="progress-bar" role="progressbar" aria-valuenow="0"

aria-valuemin="0" aria-valuemax="100" style="width:0%">

0%

</div>

</div>


<input type="file" name="image" class="form-control" />

<button class="btn btn-primary upload-image">Upload Image</button>


</form>

</div>

</div>

</body>

</html>

uploadpro.php

<?php

define('DB_SERVER', 'localhost');

define('DB_USERNAME', 'root');

define('DB_PASSWORD', 'root');

define('DB_DATABASE', 'learn');

$db = mysqli_connect(DB_SERVER,DB_USERNAME,DB_PASSWORD,DB_DATABASE);

if(isset($_POST) && !empty($_FILES['image']['name'])){

$name = $_FILES['image']['name'];

list($txt, $ext) = explode(".", $name);

$image_name = time().".".$ext;

$tmp = $_FILES['image']['tmp_name'];

if(move_uploaded_file($tmp, 'upload/'.$image_name)){

mysqli_query($db,"INSERT INTO items (title)

VALUES ('".$image_name."')");

echo "<img width='200px' src='upload/".$image_name."' class='preview'>";

}else{

echo "image uploading failed";

}

}

?>

Tags :
Shares