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.
dir_display() Function:
This function displays the files available in the folder in a table. The template looks like this:
File
Size
Type
Modified
abc.doc
25 Kb
doc
Oct 01, 2003
Delete
xyz.txt
24 Bytes
txt
Oct 03, 2003
Delete
abc.doc
48 Kb
doc
Oct 05, 2003
Delete
abc.doc
67 Kb
doc
Nov 05, 2003
Delete
xyz.txt
58 Bytes
txt
Oct 23, 2003
Delete
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.