php 后缀改成html
PHP模板实现静态化非常方便,比如安装和使用PHP Smarty实现网站静态化。
在使用Smarty的情况下,也可以实现页面静态化。下面先简单说一下使用Smarty时通常动态读取的做法。
一般分这几步:
1、通过URL传递一个参数(ID);
2、然后根据此ID查询数据库;
3、取得数据后根据需要修改显示内容;
4、assign需要显示的数据;
5、display模板文件。
Smarty静态化过程只需要在上述过程中添加两个步骤。
第一:在1之前使用 ob_start() 打开缓冲区。
第二:在5之后使用 ob_get_contents() 获取内存未输出内容,然后使用fwrite()将内容写入目标html文件。
根据上述描述,此过程是在网站前台实现的,而内容管理(添加、修改、删除)通常是在后台进行,为了能有效利用上述过程,可以使用一点小手段,那就是Header()。具体过程是这样的:在添加、修改程序完成之后,使用Header() 跳到前台读取,这样可以实现页面HTML化,然后在生成html后再跳回后台管理侧,而这两个跳转过程是不可见的。
php修改html文件的方法:1、使用fopen函数打开html文件;2、使用fread函数读取文件内容;3、通过filesize函数读取文件的大小;4、通过fwrite函数修改html文件内容;5、使用fclose函数关闭打开的文件。
推荐:《PHP视频教程》
PHP修改HTMl模板
新知识点:
PHP部分文件操作函数(fopen,fread,filesize,fwrite,fclose)
fopen(路径和文件名,打开方式) 打开文件函数
fread(打开的文件,结束位置) 读取文件内容 r-只读 w-写入 a-读写
filesize(路径和文件名) 读取文件的大小,字节为计量单位
fwrite(路径和文件名,写入的内容) 写入文件内容
fclose(路径和文件名) 关闭打开的文件
unlink() mkdir()删除函数
unlink(路径和文件名) 删除文件函数
mkdir(路径和目录名) 删除目录函数
以往知识点:
foreach()遍历函数
$str_replace()替换函数函数
代码展示:
模板tmphtml
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>标题:{title}</title>
</head>
<body>
<!-- 这是一个html模板 -->
内容:{content}
</body>
</html>生成新的HTMl的操作:htmlphp
<
$fp = fopen("tmphtml", "r");
// 读取文件的全部内容
$str = fread($fp, filesize("tmphtml"));
// 替换文件内容
$str = str_replace("{title}", "今日新闻", $str);
$str = str_replace("{content}", "今日新闻要点", $str);
fclose($fp);
// 只写方式打开文件
$handle = fopen("newshtml","w");
fwrite($handle, $str);
fclose($handle);
echo("生成成功");
>实际中,如果需要批量生成html文件可以使用如下方式:
<
$array = array(array("今日新闻","国家医疗改革"),array("昨日回顾","日本福岛91级地震"));
foreach ($array as $key => $value) {
// 只读方式打开文件
$fp = fopen("tmphtml", "r");
// 读取文件的全部内容
$str = fread($fp, filesize("tmphtml"));
// 替换文件内容
$str = str_replace("{title}",$value[0], $str);
$str = str_replace("{content}", $value[1], $str);
fclose($fp);
// 只写方式打开文件
$handle = fopen($key"html","w");
fwrite($handle, $str);
fclose($handle);
echo("生成成功");
}
>
这个就叫做静态化了,常见的方法有几种:
1、用smarty模板,是一种缓存机制,简单学习一下就好了;
2、把页面全部生成了静态html文件,常见的方法是按照网页的规律,用正则匹配网址,然后确定一个静态的html路径,路径存到数据库里,生成为html文件,然后链接全部读取html的路径。
3、伪静态,就是服务器把地址伪装成html格式的,其实不是真正的静态html文件。可以搜索:apache
rewrite
重写。是根据网址的规则,用正则表达式匹配的,比如新闻页面newsphpid=100,匹配成news/100html。
dedecms如何去掉首页indexhtml出现的原因是动态PHP转换为静态html的原因,去除方法如下:
第一种、伪静态设置代码,具体操作如下:
在主机里面找到伪静态文件htaccess,下载到本地,用编辑器打开,在里面加入以下代码DirectoryIndex indexhtml indexphp indexhtm然后在上传至主机。
第二种、在网站虚拟主机里面把网站默认首页indexhtml放到indexphp前面,具体如下图:
DEDECMS无法生成主页HTML是设置错误造成的,解决方法为:
1、首先,登录网站后台。
2、点击系统选项卡。
3、点击:系统基本参数。
4、点击:核心设置链接。
5、然后将DedeCMS安装目录这一项,修改为当前项目所在的文件夹名称,最后点击确定按钮。
6、网站正常运行了,故障已解决。
0条评论