What are some best practices for managing file deletion in PHP scripts to ensure security and efficiency?
When managing file deletion in PHP scripts, it is important to validate user input to prevent unauthorized access to files and ensure that only allowed files are deleted. Additionally, it is recommended to check if the file exists before attempting to delete it to avoid errors. Proper error handling should also be implemented to handle any issues that may arise during the deletion process.
// Validate user input to prevent unauthorized access
$filename = $_POST['filename']; // Example of user input
$allowed_files = ['file1.txt', 'file2.txt']; // List of allowed files
if (in_array($filename, $allowed_files)) {
// Check if file exists before deleting
if (file_exists($filename)) {
// Delete the file
if (unlink($filename)) {
echo "File deleted successfully.";
} else {
echo "Error deleting file.";
}
} else {
echo "File does not exist.";
}
} else {
echo "Unauthorized access.";
}