Monitoring File Uploads using Ajax and PHP
Because of the limitations of HTTP, it is difficult to monitor the status of files as they are uploaded via HTML forms. While other programming languages have built-in methods to monitor file uploads, PHP does not. This article shows how to implement such a solution in PHP.
In order to achieve this, the APC (Alternative PHP Cache) PHP extension is required, as well as PHP 5. Specifically, APC 3.0.13 or newer and PHP 5.2 or newer are required for the code in this article to work. We will cover installation of APC in the next section. It is assumed you already have a working PHP 5.2 installation.
In this article we will develop a solution that will allow users to upload a file from their computer using HTML forms. We will then determine the progress of the upload while it is in progress using Ajax, and display the status to the user.
The steps we will follow in this article are as follows:
- Installation of the APC extension for PHP.
- How to monitor uploads using APC.
- Creating a PHP class to manage file uploads.
- Implementing a traditional file uploader.
- Extending the uploader to display upload status.