|.]+/', '_', $filename_without_ext); // Remove any leading/trailing underscores $sanitized_filename = trim($sanitized_filename, '_'); // Ensure the filename is not empty if (empty($sanitized_filename)) { $sanitized_filename = 'unnamed_file'; } // Re-append the extension if it exists if (!empty($extension)) { return $sanitized_filename . '.' . $extension; } return $sanitized_filename; } function upload_error_message($error_code) { switch ($error_code) { case UPLOAD_ERR_INI_SIZE: return 'The uploaded file exceeds the upload_max_filesize directive in php.ini'; case UPLOAD_ERR_FORM_SIZE: return 'The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form'; case UPLOAD_ERR_PARTIAL: return 'The uploaded file was only partially uploaded'; case UPLOAD_ERR_NO_FILE: return 'No file was uploaded'; case UPLOAD_ERR_NO_TMP_DIR: return 'Missing a temporary folder'; case UPLOAD_ERR_CANT_WRITE: return 'Failed to write file to disk.'; case UPLOAD_ERR_EXTENSION: return 'A PHP extension stopped the file upload.'; default: return 'Unknown upload error'; } }