php mysql 静态页面_傻瓜式的php+mysql伪静态(真实存在的html页面)

伪静态大家应该知道

例如你的php页面生成的页面为xxx.php?id=1

为了seo和容易被百度等搜索引擎抓取,也为了防止高并发的时候占用服务器资源

我们应该把xxx.php?id=1页面的链接显示为xxx_1.html等类似格式,反正就是.html为后缀。

我自己没有深入研究这个,但是我简单实现了这个。

1 简单的列表

//连接数据库

$con = mysql_connect("localhost","root","root");

//选择数据库

mysql_select_db("test", $con);

//查询数据库

$result = mysql_query("SELECT * FROM list");

//遍历输出数据库

while($row = mysql_fetch_array($result))

{

$url = $row["url"];

$id = $row["id"];

if(empty($url)){

echo "$row[title]
";

}else{

echo "$row[title]
";

}

}

mysql_close($con);

?>

如图:

910bbae1a4e1fcd1a2fed38c54331e46.png

此时,所有的标题超链接显示的都是p.php?id=x

重要的是p.php页面

p.php遍历输出的时候

查询了数据库url字段,如果为空,那么就开始进行file_get_contents获取整个页面的html代码,然后把代码写入到一个名为LKY_$id.html的html文件,其中$id是当前页面的id,如果当前页面id=1,那么生成的文件名为LKY_1.html,接着就把这个文件名更新到数据库的url字段

//连接数据库

$con = mysql_connect("localhost","root","root");

//选择数据库

mysql_select_db("test", $con);

//获得id

$id =$_GET["id"];

//查询数据库

$result = mysql_query("SELECT * FROM list where id =".$id);

//遍历输出数据库

while($row = mysql_fetch_array($result))

{

$url = $row["url"];

if(empty($url)){

$get_html = "http://localhost/20180417/get_html.php?id=$id";

$html_utl = "LKY_$id.html";

$con_html = file_get_contents($get_html);

$html = fopen($html_utl, "w");

fwrite($html, $con_html);

fclose($html);

echo $row["zhengwen"];

mysql_query("UPDATE list SET url = '$html_utl' WHERE id = '$id'");

}else{

echo $row["zhengwen"];

}

}

mysql_close($con);

?>

当用户访问xxx.p.php?id=1的时候,就会进行查询数据库,如果url字段为空,那么就获取整个页面的html,这个获取html页面的来源又用一个get_html.php进行获取

//连接数据库

$con = mysql_connect("localhost","root","root");

//选择数据库

mysql_select_db("test", $con);

//获得id

$id =$_GET["id"];

//查询数据库

$result = mysql_query("SELECT * FROM list where id =".$id);

//遍历输出数据库

while($row = mysql_fetch_array($result))

{

echo $row["zhengwen"];

}

mysql_close($con);

?>

获取到了之后生成html文件并保存在服务器我们指定的目录,如果访问xxx.p.php?id=1,判断url字段不为空,则直接输出该页数据或者跳转到LKY_1.html

bb16d533fee83d4d886e99553a48574a.png

那么在首页的列表中也做了相应的判断,判断url是否为空,如果为空,那么输出的是p.php?id=1的超链接,否则从数据库取url字段的html文件名,则输出LKY_1.html

1f3cac23ef6a1b2b126d82064710dfa9.png

要说的是,这是实实在在生成html文件的!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值