Wordpress修改代码实现上传中文文件名图片 本 - Assbbs
Wordpress修改代码实现上传中文文件名图片 本文解决了在wordpress中上传中文文件名图片无法正常显示的问题。学研端已经用 jpg/ gif /png三种不同格式测试均没有问题。 这三句代码都在路径 .wp-adminincludes下。 前两句需要修改的代码在该路径的file.php文件中。 具体地,第一处是是将以下代码: $new file =…
Wordpress修改代码实现上传中文文件名图片 本文解决了在wordpress中上传中文文件名图片无法正常显示的问题。学研端已经用 jpg/ gif /png三种不同格式测试均没有问题。 这三句代码都在路径 .wp-adminincludes下。 前两句需要修改的代码在该路径的file.php文件中。 具体地,第一处是是将以下代码: $new file = $uploads 'path' . "/$filename"; 修改为: $new file = $uploads 'path' . "/" . iconv "UTF-8", "GBK", $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' ; 第三句需要修改的代码在media.php文件中,具体地,是将以下代码: $filename = esc html basename $post->guid ; 修改为: $filename = substr $post->guid, strrpos $post->guid,'/' +1 ; 这样就可以上传中文文件名的图片了。 以上方法是借鉴网络内容,学研端已经验证它是有效的。 以下简单地解释一下。这些修改目的是将文件名的编码由"UTF-8"转换成"GBK",以使得服务器可以识别应用该编码的中文文件名。数据库在存放图片文件时仍使用"UTF-8"编码,这样在文件名解析时使用basename函数也会出错,所以需要进行第三句的代码修改。 云南德信行 在 2015/07/09 11:30:32 评论: 最近玩WP博客有点少,不过这个的确有点用处 Bary 在 2015/07/10 02:01:21 评论: 可是以后每次升级就都需要改文件了。 h3 在 2016/11/15 09:17:14 评论: 没有效果