首页 > 其他 > 网站日记>正文

kouhecai

提示: 阅读权限:公开  

在帝国cms中使用短网址,有利于搜索引擎的优化,增加网站内容被采集的难度。其核心为下面的编码和解码函数:

<?php
function wangzhi_encode($classid,$id){
    global $class_r;
    $tid=$class_r[$classid]['tid'];
    $mum=strlen($tid);
    $in=$mum.$tid.$id;    
    $dict=array_merge(range('A','Z'),range('a','z'),range(0,9));
    $d=count($dict);
    $re='';
    do{
	$y=$in%$d;
	$re=$dict[$y].$re;
	$in=floor($in/$d);
    }while($in>0);
    return $re;
}

function wangzhi_decode($str){
    global $class_r,$etable_r,$empire,$dbtbpre;
    $dict=array_merge(range('A','Z'),range('a','z'),range(0,9));
    $d=count($dict);
    $re=0;
    while($str){
        $re=$re*$d+array_search(substr($str,0,1),$dict);
        $str=substr($str,1);
    }
    $flag=(int)substr($re,0,1);
    $code[tid]=substr($re,1,$flag);
    $code[id]=substr($re,$flag+1);
    foreach($etable_r as $tbname=>$v)if($you=$v[mid]==$code[tid])break;
    if(!$you)$tbname='';
    $code[tbname]=$tbname;
    if($tbname)$code[classid]=$empire->gettotal("select classid as total from {$dbtbpre}ecms_{$tbname}_index where id=$code[id]");
    return $code;
   
}
print_r(wangzhi_decode('JEW4'));
?>

实则,运行 

 echo wangzhi_encode(896,124381);

显示为JEW4

 

运行 

 wangzhi_decode('JEW4');

返回数组为:

Array
(
    [tid] => 1
    [id] => 124381
    [tbname] => news
    [classid] => 896
)

 

上一篇:jiuhecai谈在php中图片和base64字符串的相互转化

下一篇:帝国cms自动分页的智能化

tags: 帝国cms 生成 帝国

返回首页

相关

热门

站内直通车

[!--temp.bottomnav--]
返回顶部