function createhtml($file)
{
//scofield 2010-3-16
//for create file as chinses name
$file = iconv('UTF-8', 'GBK', $file);
$data = ob_get_contents();
ob_clean();
dir_create(dirname($file));
$strlen = file_put_contents($file, $data);
@chmod($file,0777);
return $strlen;
}
//scofield 2010-3-16
//get root category name
$catetemp = $this->db->get_one("SELECT * FROM `".DB_PRE."category` WHERE catid = $catid LIMIT 1");
$arrparentidarr = explode(',',$catetemp['arrparentid']);
$rootidtemp = $arrparentidarr[count($arrparentidarr)-1];
$rootcatetemp = $this->db->get_one("SELECT * FROM `".DB_PRE."category` WHERE catid = $rootidtemp LIMIT 1");
$rootcatename = $rootcatetemp['catname'];
//for url roles add content title and category name
$showtitle = strip_tags($r['title']);
$catdirname = $C['catname'];
function show($contentid, $page = 0, $catid = 0, $time = 0, $prefix = '')
{
global $PHPCMS;
if($catid == 0 || $time == 0 || $prefix == '')
{
$r = $this->db->get_one("SELECT * FROM `".DB_PRE."content` WHERE `contentid`='$contentid'");
if($r['isupgrade'] && !empty($r['url']))
{
if($page>1)
{
$base_name = basename($r['url']);
$fileext = fileext($base_name);
$url_a[0] = $url_a[1] = preg_replace('/.'.$fileext.'$/','_'.$page.'.'.$fileext,$r['url']);
return $url_a;
}
else
{
$url_a[0] = $url_a[1] = $r['url'];
return $url_a;
}
}
$catid = $r['catid'];
$time = $r['inputtime'];
if(!$prefix) $prefix = $r['prefix'];
}
if(!isset($this->CATEGORY[$catid])) return false;
$C = cache_read('category_'.$catid.'.php', '', 1);
$tag = 0;
if(preg_match('/:///',$C['url']))
{
$tag = 1;
$arr_url = preg_split('///', $C['url']);
$domain = 'http://'*.*$arr_ur*l[2];
$domain1 = 'http://'.$arr*_url*[*2].'/';
$info = $this->db->get_one("SELECT * FROM `".DB_PRE."category` WHERE `url` IN ('$domain', '$domain1') LIMIT 1");
$crootdir = $info['parentdir'].$info['catdir'].'/';
}
$categorydir = $C['parentdir'].$C['catdir'];
$catdir = $C['catdir'];
//scofield 2010-3-16
//for url roles add content title and category name
$showtitle = strip_tags($r['title']);
$catdirname = $C['catname'];
//scofield 2010-3-16
//get root category name
$catetemp = $this->db->get_one("SELECT * FROM `".DB_PRE."category` WHERE catid = $catid LIMIT 1");
$arrparentidarr = explode(',',$catetemp['arrparentid']);
$rootidtemp = $arrparentidarr[count($arrparentidarr)-1];
if($rootidtemp)
{
$rootcatetemp = $this->db->get_one("SELECT * FROM `".DB_PRE."category` WHERE catid = $rootidtemp LIMIT 1");
$rootcatename = $rootcatetemp['catname'];
}else
{
$rootcatename = $catdirname ;
}
$fileext = $this->PHPCMS['fileext'];
$year = date('Y', $time);
$month = date('m', $time);
$day = date('d', $time);
$modelid = $C['modelid'];
$urlruleid = $this->MODEL[$modelid]['show_urlruleid'];
$urlrules = explode('|', $this->URLRULE[$urlruleid]);
$urlrule = $page MODEL[$modelid]['ishtml'])
{
if($prefix)
{
$contentid = $prefix;
}
elseif($PHPCMS['enable_urlencode'])
{
$contentid = hash_string($contentid);
}
}
eval("$url = "$urlrule";");
if($tag)
{
if(!(strpos($url, $crootdir)===0))
{
$url = $crootdir.$url;
}
$url_a[0] = $url;
$url_a[1] = $domain1.str_replace($crootdir, '', $url);
}
else
{
$url_a[0] = $url_a[1] = $url;
}
return $url_a;
}
//scofield 2010-3-16 add
$catdirname = $C['catname'];
//scofield 2010-3-16
//get root category name
$parentidtemp = $C['parentid'];
$catetemp = $this->db->get_one("SELECT * FROM `".DB_PRE."category` WHERE catid = $parentidtemp LIMIT 1");
$parentcatename = $catetemp['catname'].'/'.$catdirname;
function category($catid, $page = 0, $isurls = 0, $type = 3)
{
if(!isset($this->CATEGORY[$catid])) return false;
$C = cache_read('category_'.$catid.'.php', '', 1);
if($C['type'] == 0)
{
$modelid = $C['modelid'];
$urlruleid = $this->MODEL[$modelid]['category_urlruleid'];
}
elseif($C['type'] == 1)
{
$urlruleid = $C['category_urlruleid'];
}
elseif($C['type'] == 2)
{
return $C['url'];
}
if(is_numeric($page)) $page = intval($page);
$arrparentids = explode(',',$C['arrparentid']);
$domain_dir = $domain_url = '';
if(preg_match('/:///', $C['url']) && (substr_count($C['url'], '/')PHPCMS['fileext'];
$url_a[1] = $C['url'];
return $type=0; $i--)
{
if(preg_match('/:///', $this->CATEGORY[$arrparentids[$i]]['url']) && (substr_count($this->CATEGORY[$arrparentids[$i]]['url'], '/')CATEGORY[$arrparentids[$i]]['parentdir'].$this->CATEGORY[$arrparentids[$i]]['catdir'].'/';
$domain_url = $this->CATEGORY[$arrparentids[$i]]['url'];
break;
}
}
}
$categorydir = $C['parentdir'].$C['catdir'];
$catdir = $C['catdir'];
//scofield 2010-3-16 add
$catdirname = $C['catname'];
//scofield 2010-3-16
//get root category name
$parentidtemp = $C['parentid'];
$catetemp = $this->db->get_one("SELECT * FROM `".DB_PRE."category` WHERE catid = $parentidtemp LIMIT 1");
$parentcatename = $catetemp['catname'].'/'.$catdirname;
$fileext = $this->PHPCMS['fileext'];
$urlrules = explode('|', $this->URLRULE[$urlruleid]);
$urlrule = $page === 0 ? $urlrules[0] : $urlrules[1];
eval("$url = "$urlrule";");
if($C['type']==0 && $this->MODEL[$modelid]['ishtml'] && $domain_dir)
{
if(strpos($url, $domain_dir)===false)
{
$url_a[0] = $domain_dir.$url;
}
else
{
$url_a[0] = $url;
}
$url_a[1] = str_replace($domain_dir, $domain_url.'/', $url_a[0]);
}
else
{
$url_a[0] = $url_a[1] = $url;
}
return $type
注意,在 show方法中,多了 $showtitle , $catdirname ,$rootcatename 这三个变量。 第一个是内容的标题,第二个是当前分类的名称,第三个是某分类的父分类的名称。
这样就可以生成 类似 http://www.***aa.com/分类1/标题_1.html 这样的路径。
当然,我们还需要在phpcms后台更改下 URL规则,以使得phpcms支持中文路径。这个下面我们再说。
我们再来看 category 方法。 也多了几个要用的 变量。 $catdirname , $parentcatename 第一个是 当前分类的名称,第二个是某分类的父分类的名称。
这几个变量,我们需要来更改phpcms的URL规则。
在phpcms后台->系统管理->其他设置->URL规则管理->管理URL规则。
我们找到
| Phpcms | category | √ | {$categorydir}/index.{$fileext}|{$categorydir}/{$page}.{$fileext} | it/product/2.html | 修 改 | 删除 |
| Phpcms | category | √ | {$parentcatename}/index.{$fileext}|{$parentcatename}/{$page}.{$fileext} | it/product/2.html | 修 改 | 删除 |
| Phpcms | category | √ | {$catdir}/index.{$fileext}|{$catdir}/{$page}.{$fileext} | news/2_1.html | 修 改 | 删除 |
| Phpcms | category | √ | {$parentcatename}/index.{$fileext}|{$parentcatename}/{$page}.{$fileext} | news/2_1.html | 修 改 | 删除 |
| Phpcms | show | √ | {$year}/{$month}{$day}/{$contentid}.{$fileext}|{$year}/{$month}{$day}/{$contentid}_{$page}.{$fileext} | 2006/1010/1_2.html | 修 改 | 删除 |
| Phpcms | show | √ | {$rootcatename}/{$showtitle}_{$contentid}.{$fileext}|{$rootcatename}/{$showtitle}_{$contentid}_{$page}.{$fileext} | product/1_2.html | 修 改 | 删除 |
原神祈愿模拟器最新版
原神祈愿模拟器手机版是一款完整汉化的趣味原神抽卡模拟小游戏,
宝宝森林美食完整版
宝宝森林美食游戏最新版是一款十分有趣的休闲益智游戏,帮助宝宝
g沙盒仇恨官方英文版(gorebox)
G沙盒仇恨英文原版是一款最近非常火热的沙盒模拟类游戏,在这里
迷你世界测试服最新版2024
迷你世界测试服2021最新版,即迷你世界的先遣服版本,用户能
闪耀暖暖最新版2024
闪耀暖暖手游这是非常好玩的换装手游,游戏内容丰富有趣,游戏环