个人博客原文:https://alvincr.com/2021/01/%e6%96%87%e4%bb%b6%e4%b8%8a%e4%bc%a0%e6%98%af%e5%87%ba%e7%8e%b0%e6%97%b6%e5%87%ba%e7%8e%b0%e7%94%b1%e4%ba%8e%e5%ae%89%e5%85%a8%e5%8e%9f%e5%9b%a0%ef%bc%8c%e8%bf%99%e4%b8%aa%e6%96%87%e4%bb%b6/
0 背景
我在分析整理代码的时候上传文件但是出现“抱歉,由于安全原因,这个文件类型不受支持。”的现象,通过个人测试总结出以下几种方法,以便大家遇到同样问题时能够快速解决。
图片转存失败
1 解决方法
1代码
1.1 允许所有类型上传
将下面的代码放到wp-config.php中,可以直接解决此问题。
define(‘ALLOW_UNFILTERED_UPLOADS’, true); //允许上传各种类型的文件
图片转存失败
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’);
函数custom_upload_mimes($ existing_mimes = array())
{
//添加文件类型为’mime / type’的文件扩展名’extension’
$ existing_mimes [‘extension’] =’mime / type’;
//添加任意数量,例如
$existing_mimes[‘rar’] = ‘application/rar’; //增加rar类型文件
//如果需要,请在此处删除项目…
//取消设置($ existing_mimes [‘exe’]);
//并返回新的完整结果
返回$ existing_mimes;
}
https://www.eee-eee.com/blog-news/90-wordpress/1174-wordpress-permissions.html