What are the differences between using copy() and move_uploaded_file() functions in PHP file uploads?

When uploading files in PHP, the main difference between using the copy() and move_uploaded_file() functions is that move_uploaded_file() is specifically designed for handling file uploads and provides additional security measures to prevent malicious file uploads. It moves the uploaded file to a specified destination while ensuring that it is not executable. On the other hand, copy() simply copies a file from one location to another without any security checks.

// Using move_uploaded_file() function for secure file uploads
$uploadedFile = $_FILES['file']['tmp_name'];
$destination = 'uploads/' . $_FILES['file']['name'];

if (move_uploaded_file($uploadedFile, $destination)) {
    echo 'File uploaded successfully.';
} else {
    echo 'Error uploading file.';
}