首页 > 开发 > PHP > 正文

基于PHP生成静态页的实现方法

2024-05-04 22:26:54
字体:
来源:转载
供稿:网友

t1.php
代码如下:
<?php
// 方法一根据模版生成静态页面
// replaceTemplateString函数用于替换模板中指定字符串
function replaceTemplateString($templateString) {
    // 用来替换的变量
    $title = "文章标题";
    $body = "这里是文章主体";
    // 替换模板中指定字符串
    $showString = str_replace ( "%title%", $title, $templateString );
    $showString = str_replace ( "%body%", $body, $showString );
    // 返回替换后的结果
    return $showString;
}


$template_file = "template.html";
$new_file      = "new.html";
// 模版文件指针
$template_juBing = fopen ( $template_file, "r" );
// 要生成的文件指针
$newFile_juBing = fopen ( $new_file, "w" );

// 方式一获取整体模板内容字符串,替换后赋给新文件
$templateString = fread ( $template_juBing, filesize ( $template_file ) );
$showString = replaceTemplateString ( $templateString ); // 替换模板中字符串
fwrite ( $newFile_juBing, $showString ); // 将替换后的内容写入生成的HTML文件

/*
// 方式二循环读取模版每行内容字符串,替换后依次添加到新文件
while ( ! feof ( $template_juBing ) ) { // feof() 函数检测是否已到达文件末尾。如果文件指针到了末尾或者出错时则返回 TRUE。否则返回FALSE(包括 socket 超时和其它情况)。
    $templateString = fgets ( $template_juBing ); // fgets(file,length) 从文件指针中读取一行并返回长度最多为 length - 1 字节长度的字符串,包括换行符。如果没有指定 length,则默认为 1K,或者说 1024 字节。
    $showString = replaceTemplateString ( $templateString );
    fwrite ( $newFile_juBing, $showString ); // 第一次往打开的指针文件中写入内容时会替换指针文件中原有内容,在该文件指针关闭前,fwrite函数再添加内容会在已添加内容之后
}
*/
// 关闭文件指针
fclose ( $newFile_juBing );
fclose ( $template_juBing );

 

/*
数据库与静态页的关系
通常数据库内添加一条信息同后,生成一个该信息的静态页面,所以最好在数据库表中添加一字段存储对应静态页面的路径文件名,方便以后的修改,删除

模版的替换
一般来说,如果需要修改静态HTML页面的模版,通常的做法是将所有的已经生成的HTML页面删除,然后重新创建新的HTML页面。(或者说全部重新覆盖生成)

静态页上的动态操作
有些时候,在创建的静态HTML页上面也需要进行一些动态操作。例如,新闻系统中的每篇新闻要统计点击率。
可通过一个宽和高都为0像素的图像控件来隐藏的调用一个php页面来实现页面计数器功能,如

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表