We can find many articles related to uploading, viewing, and downloading files. Murali's latest article is written on the basic concept of uploading and managing files, and shows us how to create a magic with a little PHP and MySQL. Learn how to properly manage duplicate files through versioning.
File Version Management in PHP - Let's Build It, Cont'd. (Page 4 of 5 )
The Main Program:
When you execute file_upload_manager.php, the following code is executed first and the other functions described above are called in the middle of the program.
Once the user selects the file and clicks upload, the main program part is executed. Here the program gets the upload file information like file size, file type, date modified and time stamp.
Next it checks for the file existence in the destination folder. If the file is present the “if” part of the program gets executed, otherwise the file is copied to the destination folder and the file information is inserted in the database.
If the file exists, and if the file size and/or time stamp differs, Get_New_File_Name() function is called to generate a new file name. Then the file is copied to the destination folder and the file information is stored in the database.
If the file exists and the user had checked the “Replace Existing File” option, the file is replaced and the file information is updated in the database accordingly. Otherwise, the user is redirected to the file_display_manager.php page and the message “A previous version of this file exists” is displayed.
File Display Manager:
This PHP script handles the displaying of files present in the folder. As described in the plan, the program will display the file name, size, type and an option to delete the file.
This function displays the files available in the folder in a table. The template looks like this:
Oct 01, 2003
Oct 03, 2003
Oct 05, 2003
Nov 05, 2003
Oct 23, 2003
You can see that the file names are repeated. But you can see the file size and date modified differs. To view / download the file, you can click the hyperlink of the file name. This will show you the file name of the different version. You can customize the program to include another field “Version” to track the file version.
To delete a file, click on the ‘Delete’ hyperlink, which will prompt for confirmation.