How can PHP handle file upload errors gracefully?
When handling file uploads in PHP, it is important to gracefully handle any errors that may occur during the process. One way to do this is by checking for errors using the $_FILES['file']['error'] variable after the file has been uploaded. Based on the error code, you can display an appropriate message to the user or take necessary actions to resolve the issue.
if ($_FILES['file']['error'] > 0) {
switch ($_FILES['file']['error']) {
case UPLOAD_ERR_INI_SIZE:
echo 'The uploaded file exceeds the upload_max_filesize directive in php.ini';
break;
case UPLOAD_ERR_FORM_SIZE:
echo 'The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form';
break;
case UPLOAD_ERR_PARTIAL:
echo 'The uploaded file was only partially uploaded';
break;
case UPLOAD_ERR_NO_FILE:
echo 'No file was uploaded';
break;
case UPLOAD_ERR_NO_TMP_DIR:
echo 'Missing a temporary folder';
break;
case UPLOAD_ERR_CANT_WRITE:
echo 'Failed to write file to disk';
break;
case UPLOAD_ERR_EXTENSION:
echo 'A PHP extension stopped the file upload';
break;
default:
echo 'Unknown upload error';
break;
}
}