WordPress V3.9.2上传文件自动重命名文件名称和默认的年月保存目录的修改方法 -云主机博士

PikPak安卓最新版APP v1.46.2_免费会员兑换邀请码【508001】可替代115网盘_全平台支持Windows和苹果iOS&Mac_ipad_iphone -云主机博士 第1张

推荐阅读:

[AI-人工智能]免翻墙的AI利器:樱桃茶·智域GPT,让你轻松使用ChatGPT和Midjourney - 免费AIGC工具 - 拼车/合租账号 八折优惠码: AIGCJOEDISCOUNT2024

[AI-人工智能]银河录像局: 国内可靠的AI工具与流媒体的合租平台 高效省钱、现号秒发、翻车赔偿、无限续费|95折优惠码: AIGCJOE

[AI-人工智能]NexGenAI - 您的智能助手,最低价体验ChatGPT Plus共享账号

[AI-人工智能]边界AICHAT - 超级永久终身会员激活 史诗级神器,口碑炸裂!300万人都在用的AI平台

WordPress上传文件默认是不改变文件名称的,可对中文文件名而言,某些系统、某些浏览器访问是会出现问题滴,那么怎样让Wordpress上传文件自动重命名呐?

以wordpress 3.9.0为例,打开“wp-admin/includes/file.php”文件,找到第313行和452行这段代码:

// Move the file to the uploads dir
    new_file =uploads['path'] . "/filename";   //主要是修改这行的代码!
    if ( false === @ rename(file['tmp_name'], new_file ) ) {
        if ( 0 === strpos(uploads['basedir'], ABSPATH ) )
            error_path = str_replace( ABSPATH, '',uploads['basedir'] ) . uploads['subdir'];
        elseerror_path = basename( uploads['basedir'] ) .uploads['subdir'];
        return upload_error_handler(file, sprintf( __('The uploaded file could not be moved to %s.' ), $error_path ) );
    }

PHP

将其修改为

    // Move the file to the uploads dir
    new_file =uploads['path'] . "/".date("YmdHis").floor(microtime()*1000).".".ext;   //主要是修改这行的代码!
    if ( false === @ rename(file['tmp_name'], new_file ) ) {
        if ( 0 === strpos(uploads['basedir'], ABSPATH ) )
            error_path = str_replace( ABSPATH, '',uploads['basedir'] ) . uploads['subdir'];
        elseerror_path = basename( uploads['basedir'] ) .uploads['subdir'];
        return upload_error_handler(file, sprintf( __('The uploaded file could not be moved to %s.' ), $error_path ) );
    }

PHP

保存,重新上传文件。这样,新上传的文件,就会自动保存为“年月日时分秒+千位毫秒整数”的新文件名,并保存到相应的年月文件夹之下了。

上传后保存的年-月文件夹修改方法:

    后台设置—多媒体设置如下图:

    以wordpress 3.9.2为例,打开“wp-includes/functions.php”文件,找到第1707行到1714行这段代码:

    $subdir = '';
        if ( get_option( 'uploads_use_yearmonth_folders' ) ) {
            // Generate the yearly and monthly dirs
            if ( !$time )
                $time = current_time( 'mysql' );
            $y = substr( $time, 0, 4 );
            $m = substr( $time, 5, 2 );
            $subdir = "/$y/$m";   //修改这行代码 By:yunzhujiboshi.com
        }

    PHP

    修改上面代码中的:

    $subdir = "/$y/$m";

    PHP

    修改为:

    $subdir = "/$y$m";

    PHP

    也就是删除$y和$m之间的 /

    最终修改后的代码

        subdir = '';
        if ( get_option( 'uploads_use_yearmonth_folders' ) ) {
            // Generate the yearly and monthly dirs
            if ( !time )
                time = current_time( 'mysql' );y = substr( time, 0, 4 );m = substr( time, 5, 2 );subdir = "/ym";   //修改这行代码 By:yunzhujiboshi.com
        }



宝塔服务器面板,一键全能部署及管理,送你3188元礼包,点我领取


iproyal.png
原文链接:,转发请注明来源!