Ditto. CSV import of donations no longer works.
The “Disable Real MIME Check” plugin allowed me to work around this, but it needs to be deactivated after each use, so not a real solution.
-
This reply was modified 7 years, 5 months ago by
cdonner. Reason: was wrong about what caused the issue
@cdonner thanks for commenting. I’ll use that workaround too while I wait for their response.
Hi folks,
Can you do me a favor, and deactivate that “Disable Real MIME Check” plugin, then go to “Media > Add Media” and try to upload your CSV file there? I have a feeling the error you are experiencing is due to your server environment security settings and would affect ALL of WordPress, not just Give.
See here for details:
https://mybrotherdarryl.com/wordpress-sorry-this-file-type-is-not-permitted-for-security-reasons/
Let me know on that, and if that’s the case I can recommend that plugin to others going forward. Thanks!
@webdevmattcrom Thanks for responding. Yup, it’s the media library across the board. Looks like they are aware: https://core.trac.ww.wp.xz.cn/ticket/45615 hopefully it will be fixed in the next release.
It looks like this issue will be addressed in WordPress Core version 5.0.3 currently. That will most likely be released in the new year. Until then, I believe either the plugin mentioned above, or this snippet is a valid workaround for now:
add_filter('wp_check_filetype_and_ext', function($values, $file, $filename, $mimes) {
if ( extension_loaded( 'fileinfo' ) ) {
// with the php-extension, a CSV file is issues type text/plain so we fix that back to
// text/csv by trusting the file extension.
$finfo = finfo_open( FILEINFO_MIME_TYPE );
$real_mime = finfo_file( $finfo, $file );
finfo_close( $finfo );
if ( $real_mime === 'text/plain' && preg_match( '/\.(csv)$/i', $filename ) ) {
$values['ext'] = 'csv';
$values['type'] = 'text/csv';
}
} else {
// without the php-extension, we probably don't have the issue at all, but just to be sure...
if ( preg_match( '/\.(csv)$/i', $filename ) ) {
$values['ext'] = 'csv';
$values['type'] = 'text/csv';
}
}
return $values;
}, PHP_INT_MAX, 4);
If you need guidance implementing custom PHP functions on your website, we have this guide here: https://givewp.com/documentation/resources/adding-custom-functions-to-your-wordpress-website/
Thanks!