分享各种网络资源
是我乃至整个互联网的精髓所在
最新公告:
  • 开启被动注册模式,详情点击这里,同时接小单,QQ:330733312
  • 目前站点正在不断折腾和调试中,如有问题请见谅
     您目前所在位置: 站点首页 » WordPress » WordPress 代码 » WordPress实现上传中文文件名图片(4.6.1亲测有效)
  • WordPress实现上传中文文件名图片(4.6.1亲测有效)

  • 修改file.php
  • 修改media.php
  • WordPress实现上传中文文件名图片(4.6.1亲测有效)-BanYuner

    昨天为了这个问题折腾了好久,但是问题依然没有解决,就在我准备睡觉的时候,我表示不甘心,于是乎用手机百度了一下,最终被我找到了解决办法。

    网络上面的方法多是应用于低版本的节奏,但是现在说的办法经过我目前使用的4.6.1版本测试有效,有需要的用户可以自行尝试一下下面的代码,代码位于:wp-admin\includes\media.php中

    // Construct the attachment array  搜索前面的关键字,找到类似下面代码的地方
    $attachment = array_merge( array(
    'post_mime_type' => $type,
    'guid' => $url,
    'post_parent' => $post_id,
    'post_title' => urldecode($title),//关键行,将'post_title' => $title替换为'post_title' => urldecode($title)
    'post_content' => $content,
    'post_excerpt' => $excerpt,
    ), $post_data );
    

    关建行的修改原理根据原博主所说为

    把title中中文乱码 用urlDecoder解码。

    那么整个解决方案就是上面的了,大家如果看不明白可以参考原文: http://blog.csdn.net/u013476542/article/details/52804081


    下面的仅供参考,大家不要轻易尝试,任何后果站点概不负责

    站点一直使用的比较低的版本,刚刚把版本更新了之后,很多修改了的系统文件我都不记得了,其中就包括这个功能,所以我现在又得再从新设置一次,但是设置之后貌似没有效果,不知道有没有用户知道最新版本的WordPress的相关方法。

    这里附上一种网络上面流传比较广泛的版本,基本就是修改file.php以及media.php文件了,大家可以参考一下:

    修改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' );
    

    上面的代码搜索关键词wp_handle_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 ) );
    

    我在4.6.1里面并没有找到上面的一样的代码,但是找到了类似的代码,初步定位在该文件的2829行,那么替换为下面的代码:

    $filename = substr($post->guid, strrpos($post->guid,'/')+1);
    

    同样的,根据不同情况做出不同修改,可能不一样吧。

    关注我们 打赏 分享此文

    微信扫码,关注我们

    扫码,支持我

    WordPress实现上传中文文件名图片(4.6.1亲测有效)

    支付宝(点击图片切换)

    扫码,支持我

    WordPress实现上传中文文件名图片(4.6.1亲测有效)

    微信(点击图片切换)

    扫码,手机看

    WordPress实现上传中文文件名图片(4.6.1亲测有效)
    匿名

    个人评价:┃草根博主┃站点无技术含量┃文章内容不够吸引人┃转载内容随处可见┃资源均来自网络┃分享是我的宗旨,也是这个站点存在意义,分享的东西你现在可能不需要,但是我相信只要在某个时间你需要的时候能在这里找到,那么我就是成功的

    WordPress实现上传中文文件名图片(4.6.1亲测有效)
    3 + 5 =
    1. 1楼
      Vans爱好者
      最后评论时间:2017/03/20 04:43
      来自天朝的朋友 谷歌浏览器 Windows 10 广东省深圳市 电信
      凡是要改源文件代码的都不用,因为一更新就GG了。
      Vans爱好者 6个月前 (03-20)回复
      • 帅气小琦琦
        最后评论时间:2017/09/21 10:58
        来自天朝的朋友 谷歌浏览器 Windows 10 湖北省武汉市 电信
        @Vans爱好者 这个没有办法的事情 等待大神出function版本吧 :lol:
        帅气小琦琦    24小时前回复