文件上传时出现出现“由于安全原因,这个文件类型不受支持”的解决方法
本文于2021年1月9日由AlvinCR更新
文章导引
0 背景
我在分析整理代码的时候上传文件但是出现“抱歉,由于安全原因,这个文件类型不受支持。”的现象,通过个人测试总结出以下几种方法,以便大家遇到同样问题时能够快速解决。
1 解决方法
1代码
1.1 允许所有类型上传
将下面的代码放到wp-config.php中,可以直接解决此问题。
define(‘ALLOW_UNFILTERED_UPLOADS’, true); //允许上传各种类型的文件
AlvinCR,2021.1.9(补充):
使用此函数,出现以下错误:
这是因为代码输入错误导致的,请重新检查代码的正确性。如果复制粘贴上面的代码出错(输入法导致),那么也可以参照图片中的代码手动输入。
1.2允许特定类型上传
以下是代码段,但是我使用该代码会出现异常(服务器收到意料之外的响应,以及致命错误导致网站崩溃),也许是我哪里设置有问题。
function my_custom_upload_mimes($mimes = array()) {
// Add a key and value for the SVG file type
$mimes[\’svg\’] = “text/txt”; //在这里将txt替换成你希望开启的类型
return $mimes;
}
add_action(\’upload_mimes\’, \’my_custom_upload_mimes\’);
1.3 加入特定代码
由于我function.php文件中并没有application函数,因此以下内容仅供参考,效果未知:
wordpress添加自定义上传附件类型添加rar支持
在wp-includes/functions.php文件中查找application/zip,在“// openoffice formats”这行的上面加上
‘rar’ => ‘application/rar’,
2插件
3 调整格式
上传的时候可以直接把rar的后缀改成jpg,上传之后再手动改回来即可
2其它原因及方法
2.1 上传权限
也有可能是因为没有开放上传权限的原因,可以找到
/www/wwwroot/alvincr.com/wp-content/uploads
将uploads文件夹的权限全部开放,即设为777
2.2 其它代码
add_filter(‘upload_mimes’, ‘custom_upload_mimes’);
function custom_upload_mimes ( $existing_mimes=array() )
{
// Add file extension ‘extension’ with mime type ‘mime/type’
$existing_mimes[‘extension’] = ‘mime/type’;
// add as many as you like e.g.
$existing_mimes[‘rar’] = ‘application/rar’; //增加rar类型文件
// remove items here if desired …
//unset( $existing_mimes[‘exe’] );
// and return the new full result
return $existing_mimes;
}
https://www.eee-eee.com/blog-news/90-wordpress/1174-wordpress-permissions.html
一条评论
Pingback: