今天遇到一个问题,wordpress无法上传图片,经过半晌的研究发现有以下4种原因造成。

1.浏览器问题,360浏览器有两种模式,极速和兼容,兼容模式下wp后台上传不了图片。

2.图片名称问题,图片含有中文字符,有一些情况上传不了图片,解决办法在网上有很多,以下是小编在网上搜集到的。

首先到WordPress目录下找到wp-admin/includes/file.php这个文件。在wp-admin/includes/file.php文件中查找

$new_file = $uploads[‘path’] . “/$filename”;

(1)

替换成下面的:

$new_file = $uploads[‘path’] . “/”.date(“YmdHis”).floor(microtime()*1000).”.”.$ext;    此方法亲测可行,但会吧图片以年月日时分秒形式重新命名。
$new_file = $uploads[‘path’] . “/” . iconv(“UTF-8″,”GB2312”,$filename);                   //此方法小编测试不行。

(2)

return apply_filters( ‘wp_handle_upload’, array( ‘file’ => $new_file, ‘url’ => $url, ‘type’ => $type ),

‘upload’ );

修改为:(修正中文文件名编码问题)

return apply_filters( ‘wp_handle_upload’, array( ‘file’ => $uploads[‘path’] . “/$filename”, ‘url’ => $url,

‘type’ => $type ) , ‘upload’);

3.也有网友说,在wp-config配置文件中,在require_once(ABSPATH . ‘wp-settings.php’);前面加上代码define(‘CONCATENATE_SCRIPTS’, false );就可以解决问题,小编测试后并没有任何作用。

4.还有网友说是数据库的问题,需要在数据库wp-options表中,将uploads的值改为wp-content/uploads,就可以解决问题。小编测试过后,也没有器作用。

以上就是图片上传不了,或不显示时小编遇到的所有问题。希望能对大家有帮助。