What potential pitfalls should be considered when handling file transfers in PHP?

Potential pitfalls when handling file transfers in PHP include not properly sanitizing user input, not checking file permissions, and not handling errors gracefully. To mitigate these risks, always validate user input, ensure proper file permissions are set, and implement error handling to catch any issues that may arise during the file transfer process.

// Example code snippet for handling file transfers in PHP

// Sanitize user input
$filename = filter_var($_POST['filename'], FILTER_SANITIZE_STRING);

// Check file permissions
if (is_writable('uploads/')) {
    // Perform file transfer
    move_uploaded_file($_FILES['file']['tmp_name'], 'uploads/' . $filename);
    echo 'File transfer successful';
} else {
    echo 'Error: Unable to write to directory';
}

// Error handling
if ($_FILES['file']['error'] !== UPLOAD_ERR_OK) {
    echo 'Error: File transfer failed';
}