Updating a progress bar during php scripts
At each step of pipeline the status of task is updated inside the database which can then be sent to the user by any server-push mechanism which exists these days.
Running a single script which handles uploads and updates puts load on your server and also restricts you (what if the browser closes, what if some other error occurs).
If you are doing multiple files or multiple things in the task, you may also want to handle that logic in this step Do the job & Return the progress.
Web sockets allow bi-directional communication between the server and the browser, keeping a pipeline between the two open for communication. Not only are web sockets hard to realise on shared servers, but they consume a lot of memory and processing power as they tend to run constantly in the background.
This specification defines the 5th major revision of the core language of the World Wide Web: the Hypertext Markup Language (HTML).