建站随笔,  网页基础

文件上传时出现出现“由于安全原因,这个文件类型不受支持”的解决方法

本文于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

 

Leave a Reply

邮箱地址不会被公开。 必填项已用*标注

文件上传时出现出现“由于安全原因,这个文件类型不受支持”的解决方法