What are some best practices for handling file uploads in PHP to avoid duplicate files being saved in the upload directory?
When handling file uploads in PHP, one common issue is the possibility of duplicate files being saved in the upload directory if files with the same name are uploaded. To avoid this, one best practice is to generate a unique filename for each uploaded file by appending a timestamp or a random string to the original filename before saving it in the upload directory.
// Handle file upload
$uploadDir = 'uploads/';
$uploadedFile = $_FILES['file'];
$originalFilename = $uploadedFile['name'];
$extension = pathinfo($originalFilename, PATHINFO_EXTENSION);
$uniqueFilename = uniqid() . '_' . $originalFilename;
$uploadPath = $uploadDir . $uniqueFilename;
if(move_uploaded_file($uploadedFile['tmp_name'], $uploadPath)) {
// File uploaded successfully
echo 'File uploaded successfully as: ' . $uniqueFilename;
} else {
// Error uploading file
echo 'Error uploading file';
}