站长论坛

标题: 谈PHP生成伪静态 [打印本页]

作者: superadmin    时间: 2008-5-10 16:08
标题: 谈PHP生成伪静态
很多虚拟主机不支持URL_rewrite
昨天也看到经典一朋友写了一个
感觉代码太多.


$path_info        =$_SERVER["PATH_INFO"]; //取得PATH_INFO


/*用正则来匹配 "/article.123456.html"*/

if(eregi("^/[a-z]{1,16}.[0-9]{1,16}.html$",$path_info)) {
        echo "OK";

        $get_path=substr($path_info,1,-5);//处理造型:D 去掉"/",".html"

        $arr_path=explode('.',$get_path);//处理成数组备用

//以下是打印出数组看看我们有没有搞错的哦.:cool:

        foreach ($arr_path as $key=>$value){

                echo '$arr_path['.$key.']:'.$value."<br >";
        }

}else echo "NO";


结果如下
$arr_path[0]:chapters
$arr_path[1]:12312125

直接当$_GET使用吧,呵呵.PHP生成伪静态就是这么简单
作者: superadmin    时间: 2008-5-10 16:08
标题: 伪静态的,实用性可能比较高点
function MakeUrl($arr){
         foreach($arr as $key=>$value){
                 $url[]=$key."_".$value;
                 }
         $tmpurl=implode("_",$url);
         return $tmpurl.".htm";
         }

function ParseUrl(){
    if($_SERVER['PATH_INFO']!=""){
         $pathinfo=substr($_SERVER['PATH_INFO'],1);
         $pathinfo=str_replace(".htm","",$pathinfo);
         $path=explode("_",$pathinfo);
         $count=count($path);
         for($i=0;$i<$count;$i+=2){
                 $_GET[$path[$i]]=$path[$i+1];
                 }
                 }
         }
//使用实例,链接页面
$path="http://www.dayanmei.com/blog.php/";
$path.=MakeUrl(array('BlogID'=>2,'page'=>1));
//浏览页面,调用函数ParseUrl();直接可以使用变量$_GET




欢迎光临 站长论坛 (https://tzlink.com/bbs/) Powered by Discuz! X3.2