I am trying to upload an image, but I want that if the image already exists, I need to rename the file. A problem in my code occurs when I try to load an image after renaming a file. part of the code where I ran into a problem. after renaming, if I repeat the name of the file it receives, but after that I cannot upload the image to the server
if(file_exists($target_file)) { $new_filename = uniqid() . '.' . $fileData['imageFileType']; rename($target_file, $new_filename); if (move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], $target_file)) { $name=basename( $_FILES["fileToUpload"]["name"]); echo $name; } else { echo "Sorry, there was an error uploading your file."; } } else { if (move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], $target_file)) { $name=basename( $_FILES["fileToUpload"]["name"]); echo $name; } else { echo "Sorry, there was an error uploading your file."; } }
all the code that I have to upload the image,
<?php require 'connection.php'; $target_dir = "catpic/"; $target_file = $target_dir . basename($_FILES["fileToUpload"]["name"]); $uploadOk = 1; $imageFileType = pathinfo($target_file,PATHINFO_EXTENSION); // Check if image file is a actual image or fake image if(isset($_POST["submit"])) { $check = getimagesize($_FILES["fileToUpload"]["tmp_name"]); if($check !== false) { //echo "File is an image - " . $check["mime"] . "."; $uploadOk = 1; } else { echo "File is not an image."; $uploadOk = 0; } } // Check file size if ($_FILES["fileToUpload"]["size"] > 500000) { echo "Sorry, your file is too large."; $uploadOk = 0; } // Allow certain file formats if($imageFileType != "jpg" && $imageFileType != "png" && $imageFileType != "jpeg" && $imageFileType != "gif" ) { echo "Sorry, only JPG, JPEG, PNG & GIF files are allowed."; $uploadOk = 0; } // Check if $uploadOk is set to 0 by an error if ($uploadOk == 0) { echo "Sorry, your file was not uploaded."; // if everything is ok, try to upload file } else { if(file_exists($target_file)) { $new_filename = uniqid() . '.' . $fileData['imageFileType']; rename($target_file, $new_filename); if (move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], $target_file)) { $name=basename( $_FILES["fileToUpload"]["name"]); echo $name; } else { echo "Sorry, there was an error uploading your file."; } } else { if (move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], $target_file)) { $name=basename( $_FILES["fileToUpload"]["name"]); echo $name; } else { echo "Sorry, there was an error uploading your file."; } } } ?>
source share