php

位置:IT落伍者 >> php >> 浏览文章

PHP生成HTML的技术原理


发布日期:2023年07月03日
 
PHP生成HTML的技术原理

)在MYSQL里新建一数据库命名为 database (可自定义)新建一表命名为 news(因为是新闻发布嘛取个好记的名字即可可自定义)然后建立这几个字段名


id (自动递增这是关键类型INT)
title (顾名思义新闻标题类型可取 TEXT)
content (新闻内容类型可取 TEXT)
path (HTML文件路径类型可取 TEXT)

)建立 connphp


这是连接数据库的PHP文件你可以把连接数据的语句单独放在这一文件里以后多个需要连接数据库的文件直接引用这个文件即可


)设计添加新闻的表格 addform 简单的源代码如下:


<form method=”post” action=”addphp”> //提交至 addphp
新闻标题:<input type=”text” name=”title” size=””><br>
新闻内容:<textarea name=”content” cols=”” rows=””></textarea><br>
<input type=”submit” name=”提交”>
</form>



)建立一个 HTML 的模板另存为modelhtm和 addphp可以在同一目录下


示例源代码:


<html>
<body>
此新闻的标题:{title}
此新闻的内容:{content}
</body>
</html>


   { }大括号内的内容即是要被替换的内容整个静态模板的设计可以根据自己的思路但{  }内被替换的内容必须包含在内如上面的{title}{content}咔咔~简单地说设计好一个很好看的新闻模板后把要被替换的如 {title}{content}等标记放到需要的地方就可以了撒

  )详解 addphp 源码


<?php
require_once(“connphp”) //引用connphp连接数据库
$title=$_POST[“title”];
$content=$_POST[“content”]; //获得表单变量

//以下建立一文本文档其值自动计数
$countfile="counttxt";
if(!file_exists($countfile))
{
fopen($countfile"w"); //如果此文件不存在则自动建立一个
}
$fp=fopen($countfile"r");
$num=fgets($fp);
$num=$num+; //每次其值自动加一
fclose($fp);
$fp=fopen($countfile"w");
fwrite($fp$num); //更新其值
fclose($fp);
//利用上面自动计数的值获得HTML的路径$path
$houzui=”html”;
$path=$num$houzui;
//这样形成的路径是自动增长的htmlhtmlhtml………添加一条新闻便自动加上

//以下用SQL语句添加数据至表 news

$sql=”insert into news (titlecontentpath) values (‘”$title”’’”$content”’’”$path”’)”;
$query=mysql_query($sql);
//以下为关键之处把从表单获得的数据替换模板中的{title}{content}标记

$fp=fopen(“modelhtm””r”) //只读打开模板
$str=fread($fpfilesize(“modehtm”));//读取模板中内容
$str=str_replace(“{title}”$title$str);
$str=str_replace(“{content}”$content$str);//替换内容
fclose($fp);

$handle=fopen($path”w”); //写入方式打开新闻路径
fwrite($handle$str); //把刚才替换的内容写进生成的HTML文件
fclose($handle);
//收尾工作:

echo “<a href=$path target=_blank>查看刚才添加的新闻</a>”;
OK整个生成HTML的示例源码就到这里其关键是用了替换的方法
$str=str_replace(“{被替换的内容}”$替换的内容$str);

   因此总结一下以上的做法先设计好新闻模板把需要被替换的内容用{  }放到模板中相应的位置然后设计表单再是最后的表单处理程序把从表单中获取的变量替换模板中相应的内容即可这样每次都会生成不同的HTML如果 需要修改HTML的内容也是一样的获得修改后的表单内容后先用 update  语句更新数据库再重新替换一下模板中的内容即可删除的话先delete表中要删除的内容再用unlink($path)  来删除HTML的物理文件即可

               

上一篇:PHP 关于访问控制的和运算符优先级介绍

下一篇:PHP的可变变量名