社区
基础编程
帖子详情
静态生成问题
yingxiaochina
2005-12-09 10:45:09
如网易什么的那些网站,静态生成按字数把一遍文章自动分页,谁有现成的代码
...全文
163
6
打赏
收藏
静态生成问题
如网易什么的那些网站,静态生成按字数把一遍文章自动分页,谁有现成的代码
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
efanlx
2006-02-15
打赏
举报
回复
收了
feifengxlq
2006-02-14
打赏
举报
回复
[转帖]PHP生成HTML的技术原理
1)在MYSQL里新建一数据库,命名为 database (可自定义),新建一表,命名为 news(因为是新闻发布嘛,取个好记的名字即可,可自定义),然后建立这几个字段名:
id (自动递增,这是关键,类型:INT)
title (顾名思义,新闻标题,类型可取 TEXT)
content (新闻内容,类型可取 TEXT)
path (HTML文件路径,类型可取 TEXT)
(2)建立 conn.php
这是连接数据库的PHP文件,你可以把连接数据的语句单独放在这一文件里,以后多个需要连接数据库的文件直接引用这个文件即可。
(3)设计添加新闻的表格 add.form 简单的源代码如下:
CODE: [Copy to clipboard]
<form method=”post” action=”add.php”> //提交至 add.php
新闻标题:<input type=”text” name=”title” size=”20”><br>
新闻内容:<textarea name=”content” cols=”10” rows=”25”></textarea><br>
<input type=”submit” name=”提交”>
</form>
(4)建立一个 HTML 的模板,另存为model.htm,和 add.php可以在同一目录下。
示例源代码:
CODE: [Copy to clipboard]
<html>
<body>
此新闻的标题:{title}
此新闻的内容:{content}
</body>
</html>
{ }大括号内的内容即是要被替换的内容,整个静态模板的设计可以根据自己的思路,但{ }内被替换的内容必须包含在内,如上面的{title},{content};咔咔~简单地说,设计好一个很好看的新闻模板后,把要被替换的如{title},{content}等标记放到需要的地方就可以了撒。
(5)详解 add.php 源码
CODE: [Copy to clipboard]
<?php
require_once(“conn.php”); //引用conn.php,连接数据库
$title=$_POST[“title”];
$content=$_POST[“content”]; //获得表单变量
//以下建立一文本文档,其值自动计数
$countfile="count.txt";
if(!file_exists($countfile))
{
fopen($countfile,"w"); //如果此文件不存在,则自动建立一个
}
$fp=fopen($countfile,"r");
$num=fgets($fp,20);
$num=$num+1; //每次其值自动加一
fclose($fp);
$fp=fopen($countfile,"w");
fwrite($fp,$num); //更新其值
fclose($fp);
//利用上面自动计数的值获得HTML的路径$path
$houzui=”.html”;
$path=$num.$houzui;
//这样形成的路径是自动增长的,如1.html,2.html,3.html……….添加一条新闻便自动加上1
//以下用SQL语句添加数据至表 news
CODE: [Copy to clipboard]
$sql=”insert into news (title,content,path) values (‘”.$title.”’,’”.$content.”’,’”.$path.”’)”;
$query=mysql_query($sql);
//以下为关键之处,把从表单获得的数据替换模板中的{title},{content}标记
CODE: [Copy to clipboard]
$fp=fopen(“model.htm”,”r”) //只读打开模板
$str=fread($fp,filesize(“mode.htm”));//读取模板中内容
$str=str_replace(“{title}”,$title,$str);
$str=str_replace(“{content}”,$content,$str);//替换内容
fclose($fp);
$handle=fopen($path,”w”); //写入方式打开新闻路径
fwrite($handle,$str); //把刚才替换的内容写进生成的HTML文件
fclose($handle);
//收尾工作:
CODE: [Copy to clipboard]
echo “<a href=$path target=_blank>查看刚才添加的新闻</a>”;
OK,整个生成HTML的示例源码就到这里,其关键是用了替换的方法。
$str=str_replace(“{被替换的内容}”,$替换的内容,$str);
因此,总结一下以上的做法:先设计好新闻模板,把需要被替换的内容用{ }放到模板中相应的位置,然后设计表单,再是最后的表单处理程序,把从表单中获取的变量替换模板中相应的内容即可,这样每次都会生成不同的HTML;如果需要修改HTML的内容也是一样的,获得修改后的表单内容后,先用 update 语句更新数据库,再重新替换一下模板中的内容即可;删除的话,先delete表中要删除的内容,再用unlink($path) 来删除HTML的物理文件即可。
-神仙-
2006-02-14
打赏
举报
回复
ob_start();
...
...
...
...
$content=ob_get_clean();
把$content写入文件
cpilq
2006-02-14
打赏
举报
回复
自己写。这个不难
zunyir
2006-02-13
打赏
举报
回复
关注
yingxiaochina
2005-12-10
打赏
举报
回复
没人顶??
富翁工作室多用户搜索引擎
10、
静态
页面在线
生
成,在管理界面可以在线
生
成所有目录下的页面以及关键词页面 11、二次搜索功能,当用户在搜索某个关键词以后,系统列出了〉20个结果以后,就会出现二次搜索界面,用户可以选择在这些结果中...
Freemarker中文教程
该书非常详细地讲述了如何去使用freemarker
生
成
静态
文件的技术,值得一看。
动态
生
成
静态
及伪
静态
技术视频教程
其中产品模块可以对任意一个产品自定义属性,每个产品可以有不同的属性,新闻详细页面实现了上一条和下一条新闻的链接,系统首页、单页模块、新闻模块、产品模块全部实现了动态
生
成
静态
,新闻列表、产品列表使用伪...
静态
页面
生
成 (SSG)
静态
页面
生
成 (SSG) SSG:Static Site Generation,
静态
页面
生
成; SSR:Server Side Rendering,服务端渲染; 什么是
静态
网站(static website)?
静态
网站由一个或多个每次以相同方式加载的 HTML 网页组成。...
使用Thymeleaf
生
成
静态
页面
使用Thymeleaf
生
成
静态
页面
生
成
静态
页面 =
静态
模板(item.html) + 动态数据 1)创建Context上下文对象(读取模板文件需要的动态数据) 2)定义
静态
模板((item.html) 3)使用模板引擎对象读取
静态
目标,把动态数据...
基础编程
21,886
社区成员
140,364
社区内容
发帖
与我相关
我的任务
基础编程
从PHP安装配置,PHP入门,PHP基础到PHP应用
复制链接
扫一扫
分享
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章