| /* jiuhecai修改自东坡网dp1037.com */ 一、使用步骤 1、将下面函数放入e/class/userfun.php文件尾部?>代码之前 function dp_dec($classid,$id){     global $class_r;     $tid=$class_r[$classid]['tid'];     $in=strlen($tid).$tid.$id;         $re='';     do{  $y=$in%$d;  $re=$dict[$y].$re;  $in=floor($in/$d);     }while($in>0);     return $re; } 2、在e/class/functions.php文件中搜索[filename]==2 (1)将代码: $filename=$class_r[$classid][filename_qz].md5(uniqid(microtime())); 前加//注释掉,或直接删掉。 (2)换成如下代码: $filename=dp_dec($classid,$id); 3、设置要使用此功能的栏目,将 “内容页文件命名形式” 修改为 md5()   二、常见问题 1、影响以前的网址吗? 答:不影响 2、效率怎么样? 答:影响忽略不计 3、如何将老网址也换成短网址? 答:自己写批量处理老信息的代码,或者找东坡网dp1037.com,或者联系中药方大全zhongyf.com 4、帝国CMS升级后怎么办? 答:按照上面说明再改一次就行了 5、编码原理是什么? 答:帝国cms的信息全局id是唯一的,编码方式为1+数据表id(5位)+信息id(10位),合计16位。我们这里针对这个编码进行了压缩。方法是: 去掉开始的1,第一位表示表id的位数,接着为表id,剩余的为信息id。 假定全局id为1 00056 0000012345,则压缩后的编码为25612345。容易证明这种编码可逆的,不会发生碰撞。 压缩编码后,转换为62进制(26个小英文字母+26个大写英文字母+10个数字为基数集)的表示,就是我们需要的短网址。   |