默认安装的WordPress的文件上载功能限制很多,难以使用,主要存在三个问题,一是可上载的文件类型有限制,二是文件大小限制在2M以内,三是汉字文件名的文件上载出错。在网上搜集了解决办法,一一解决了问题后,感觉顺手多了。
系统环境:windows 2003;Apache 2.2.19;php 5.2.17;WordPress 3.1.4。
①文件类型限制的解决办法:
修改wp-config.php文件,增加一句:
define('ALLOW_UNFILTERED_UPLOADS',true);
②文件大小限制的解决办法:
涉及到php和wordpress两者的参数调整,
修改php.ini
post_max_size = 20M
上述值至少要大于希望上传的最大文件大小。
查看修改memory_limit的值,保证要大于希望上传的最大文件大小。一般默认是128M,应该无需修改。
修改
upload_max_filesize = 20M
默认为2M,这个值修改后,在wordpress中显示的文件大小限制达到20M。
修改wp-config.php文件,增加一句:
define('WP_MEMORY_LIMIT','64M');
③汉字文件名问题解决办法:
修改wordpress,wp-admin/includes/file.php文件,找到函数wp_handle_upload()。
修改两句,把
$new_file = $uploads['path'] . "/$filename";
改为:
$new_file = $uploads['path'] . "/" . iconv("UTF-8","GB2312",$filename);
把
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');
④支持rar文件上载问题解决办法
修改wp-includes/functions.php文件
找到函数function get_allowed_mime_types()
在行
'zip' => 'application/zip',
后面加入
'rar' => 'application/rar',