Discuz!官方免费开源建站系统

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

[展示] 关于DISCUZ升级问题。

[复制链接]
vivinice 发表于 2013-11-26 10:08:25 | 显示全部楼层 |阅读模式
本帖最后由 vivinice 于 2013-11-26 10:12 编辑

discuz补丁包出的很快,过段时间在后台就可以看到系统提醒你升级到最新版,如果只是功能的改变不升级也罢,如果涉及到安全或者系统效率或稳定的补丁包,那是一定要升级,不过苦恼在于discuz系统的一些文件被自己改动过,如果要升级就得一个一个的找,先看看自己修改过没有,如果没有再直接覆盖文件,如果有修改,再看看自己修改的和discuz发布的冲突不。这个过程前边几步是可以通过程序完成的,自己写了个小脚本,贴出来共享下,最后会把源文件附上。

其实很简单,只需要几十行代码就可以搞定,前提是你修改过的文件一定用自己的注释,比如本人通常修改过会标注web的域名,比如:
// edit by vivinice.com
通过这个就可以很容易知道这个文件是否被修改过。

如果你改过的文件没有统一的标注,请忽略本帖子,猛击右上角X关闭本窗口。
如果你根本不懂代码,也请执行以上操作,因为此操作很危险。

文件组织:
修改update.php,将vivinice.com替换为你自己修改文件的标注。
把这个update.php放到discuz源码目录下,比如source/update.php

那么你的升级文件也就是官方的补丁应该就在source/upload/这个目录下,然后运行update.php就可以了,如果出现提示冲突的,就得人为的进行解决,不过最近几次的升级都很简单,没有出现冲突。

以下是源码:

<?php
define('UPDATE_DIR', 'upload');
define('DS', DIRECTORY_SEPARATOR);
define('ROOT_PATH', dirname(__FILE__));
define('UPDATE_PATH', ROOT_PATH.DS.UPDATE_DIR);

foreach (get_files(UPDATE_PATH) as $src_file) {
        $dst_file = str_replace(DS.UPDATE_DIR.DS, DS, $src_file);
        
        if (preg_match('/\.(php|htm|js)$/i', $dst_file)) {
                $content = file_get_contents($dst_file);
                if (stripos($content, "vivinice.com")!==false) {
                        echo "<p style=\"color:red;\">$dst_file MODIFIED, PLEASE UPDATE BY YOUSELF.</p>";
                        continue;
                }
        }
               
        if (copy($src_file, $dst_file)) {
                echo "<p>COPY $src_file TO $dst_file SUCCESS.</p>";
                unlink($src_file);
        } else {
                exit ("<p>COPY $src_file TO $dst_file FAILURE.</p>");
        }
}




function get_files($dir) {
        $files = array();
        foreach (glob($dir.DS.'*') as $filename) {
                if (is_dir($filename)) {
                        $files = array_merge($files, get_files($filename));
                } else {
                        $files[] = $filename;
                }
        }
        return $files;
}


文件下载地址(见二楼)
http://www.vivinice.com/vp-16253-1.html




1314学习网 发表于 2013-11-26 11:19:02 | 显示全部楼层
本帖最后由 1314学习网 于 2013-11-26 11:23 编辑

支持下下分享。。。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|Discuz! 官方站 ( 皖ICP备16010102号 )star

GMT+8, 2024-11-15 18:00 , Processed in 0.026550 second(s), 7 queries , Gzip On, Redis On.

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表