Upload Progress Bar in PHP

XAMPP is a free and open source cross-platform web server solution stack package developed by Apache which allows a web application to be easily tested on the local web server. But when it comes to uploading files to the server using PHP it is a headache. In most of the cases, PHP servers do not allow to upload files bigger than 30 MegaByte (30MB).

Using PHP only we can not create a progress bar interface as PHP would not provide a response until the upload is done. So to create a progress bar interface we have to use JavaScript along with PHP.

Change the limit of file upload size:
Edit php.ini file to change the upload file size on ther server. To ensure that file upload works correctly, the post_max_size directive should be a little larger than the upload_max_filesize. For example, the following settings demonstrate how to set a file upload limit to 100 megabytes:



upload_max_filesize = 100M
post_max_size = 101M

Now, What if your hosting provider does not allow you to access the “php.ini” file?
In this case, it is suggested to use JavaScript to upload your big file to the server in small blobs. JavaScript will break your local file into multiple files and it will try to upload the files to the server. Here you have to keep in mind that your blob size must not exceed the upload size limit of your PHP hosting.

Steps to run Upload ProgressBar Project:

  • Download complete project from Github.
  • Use Winrar to extract the zipped file.
  • Save the extracted file in XAMPP htdocs folder.
  • Run XAMPP server.
  • Now, open browser tab and type localhost/geeks/index.php or localhost/geeks on the address bar. It will display the output.



My Personal Notes arrow_drop_up

Check out this Author's contributed articles.

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.