分享各种网络资源
是我乃至整个互联网的精髓所在
 您目前所在位置: 站点首页 » WordPress » 代码 » WordPress实现上传中文文件名图片(4.6.1亲测有效)
+ 11

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基础教程-文章内容中如何添加音频文件

      WordPress基础教程-文章内容中如何添加音频文件

      目前基础教程已经基本完毕了,每篇文章都是用自己的语言写出来的,有兴趣查看其他教程的用户可以前往这里查看所有相关教程:教程合集 添加音频文件还...

      点击查看
    • WordPress评论上方显示评论用户列表

      WordPress评论上方显示评论用户列表

      一段时间之前,我在我的博客里面添加了下面的功能,这个功能我一开始觉得貌似没有人会喜欢或者说会显得比较多余,但是今天一个朋友问我如何实现这个功...

      点击查看
    • WordPress自动截取文章首段限定字数做为摘要

      WordPress自动截取文章首段限定字数做为摘要

      今天一个朋友问我这个问题,说实话,我也不像百度了,所以直接把 DUX 的方法介绍给大家了,我个人还是比较看好这个方法的。 DUX 实现这个功...

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