Alright, so I came across the following problem. I have system where users can upload their profile images. Images get stored in folders with member id's. The issue is: When user uploads image it get's set as their profile image, but when they upload new image it get's stored in the folder with old image, so now they have 2 profile images. And this causes trouble. I need to automatically delete old image when user uploads new image, so replace old to new.
I will provide scripts that I use for upload now, So if you have any ideas on how to fix this problem I would really appreciate it, Thank You )))
Upload Form Script
Expand|Select|Wrap|Line Numbers
- <form enctype="multipart/form-data" method="post" action="image_upload_script.php">
- Choose your file here:
- <input name="uploaded_file" type="file"/><br /><br />
- <input type="submit" value="Upload It"/>
- </form>
image_upload_script.php (PHP parsing script to upload image to user folders)
Expand|Select|Wrap|Line Numbers
- <?php
- if (!$_SESSION['idx']) {
- $msgToUser = '<br /><br /><font color="#FF0000">Only site members can do that</font><p><a href="register.php">Join Here</a></p>';
- include_once 'msgToUser.php';
- exit();
- } else if ($logOptions_id != $_SESSION['id']) {
- $msgToUser = '<br /><br /><font color="#FF0000">Only site members can do that</font><p><a href="register.php">Join Here</a></p>';
- include_once 'msgToUser.php';
- exit();
- }
- $id = $logOptions_id;
- // Access the $_FILES global variable for this specific file being uploaded
- // and create local PHP variables from the $_FILES array of information
- $fileName = $_FILES["uploaded_file"]["name"]; // The file name
- $fileTmpLoc = $_FILES["uploaded_file"]["tmp_name"]; // File in the PHP tmp folder
- $fileType = $_FILES["uploaded_file"]["type"]; // The type of file it is
- $fileSize = $_FILES["uploaded_file"]["size"]; // File size in bytes
- $fileErrorMsg = $_FILES["uploaded_file"]["error"]; // 0 for false... and 1 for true
- $kaboom = explode(".", $fileName); // Split file name into an array using the dot
- $fileExt = end($kaboom); // Now target the last array element to get the file extension
- // START PHP Image Upload Error Handling --------------------------------------------------
- if (!$fileTmpLoc) { // if file not chosen
- echo "ERROR: Please browse for a file before clicking the upload button.";
- exit();
- } else if($fileSize > 5242880) { // if file size is larger than 5 Megabytes
- echo "ERROR: Your file was larger than 5 Megabytes in size.";
- unlink($fileTmpLoc); // Remove the uploaded file from the PHP temp folder
- exit();
- } else if (!preg_match("/\.(gif|jpg|png)$/i", $fileName) ) {
- // This condition is only if you wish to allow uploading of specific file types
- echo "ERROR: Your image was not .gif, .jpg, or .png.";
- unlink($fileTmpLoc); // Remove the uploaded file from the PHP temp folder
- exit();
- } else if ($fileErrorMsg == 1) { // if file upload error key is equal to 1
- echo "ERROR: An error occured while processing the file. Try again.";
- exit();
- }
- // END PHP Image Upload Error Handling ----------------------------------------------------
- // Place it into your "uploads" folder mow using the move_uploaded_file() function
- $moveResult = move_uploaded_file($fileTmpLoc, "members/$id/$fileName");
- // Check to make sure the move result is true before continuing
- if ($moveResult != true) {
- echo "ERROR: File not uploaded. Try again.";
- unlink($fileTmpLoc); // Remove the uploaded file from the PHP temp folder
- exit();
- }
- unlink($fileTmpLoc); // Remove the uploaded file from the PHP temp folder
- ?>