欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

请问上PHP生成静态页怎么返回路径

程序员文章站 2022-06-03 13:46:43
...
请教下PHP生成静态页如何返回路径
我自己做了个网站,现在需要加入静态化功能
模板文件


// 下面这个是数据库的查询标签
{mzrui:list table='product' order='uid desc'}

{$prod_id['name']}
请问上PHP生成静态页怎么返回路径

{/mzrui}



{$v['typedir']} 这个是返回当前数据库栏目路径的

现在问题是静态化时路径不是全部静态化,有些比如评论,和某些需要经常更新的地方要用动态路径

我现在后台静态化解析模板时和动态解析模板都是用的同一个解析函数


$str = preg_replace('/\{mzrui:([\w]+)\s+([^}]+)\}/ie',"self::mzrui_tag('$1','$2')",$str); //匹配模板文件数据库查询语句

public static function mzrui_tag($tab,$sql) //mysql 解析
{
global $mz_mysql,$prefix;
preg_match_all("/([a-z]+)\=[\']?([^\']+)[\']?/i", stripslashes($sql), $matches, PREG_SET_ORDER);
$check = array('type','rows','table','order','limit');
foreach($matches as $v)
{
if(in_array($v[1],$check))
{
$$v[1] = $v[2]; //变量的变量
}
}
switch($tab)
{

case 'channel': // 导航栏标签
{
$result = $mz_mysql->sql("select * from ".$prefix."kind where kind=0");
while($v = mysql_fetch_array($result))
{
if($v['html'] == 0) // 这里判断如果没有生成静态栏目时就返回动态链接 否则就取数据库内的静态文件夹地址
{
$v['typedir'] = 'index.php?ac=list&id='.$v['uid'];
$str[] = $v;
}
}
$GLOBALS['data']=$str;
}
break;
case 'list': //文章栏目标签
{
if(!empty($_GET['id'])) // 这里判断如果是动态链接的话取当前分类栏目的ID,但是这里如果是后台生成静态化页面的话,这里就有问题
{
$id = $mz_mysql->sql("select * from ".$prefix."kind where uid=".$_GET['id']);


}
}
break;
}
return ''; //返回数据
}

现在要解决就是路径的返回问题和栏目ID的问题,现在思路很混乱,忘有经验的指点一下

------解决方案--------------------
你是用的cms吗?如果全是自己写的不可能不会啊
静态化很简单,就是把输出的这个变量放到一个指定格式(html)的文件即可啊,
函数file_put_contents() 或者fwrite(),都可以,在放入的时候本身就需要指定路劲的
请问上PHP生成静态页怎么返回路径

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。

相关文章

相关视频