Diz 论坛的数据调用有 2 种模式。一种是内部调用,在模板中嵌入调用代码,一种是外部调用,在网页中嵌入 js 代码。外部调用无法生成静态代码,只有依靠内部调用,才能生成具体内容。
第一步,在 diz 论坛的系统目录下建立一个文件,例如叫 test.php,内容很简单:
<?php
require_once './include/common.inc.php';//相对路径要正确
include template('test');//加载模板文件,模板文件名为 test.htm
?>
第二步,在 templates/default 目录下建立文件 test.htm,主要内容如下:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<meta content="text/html; charset=gb2312" http-equiv="content-type" />
<link type="text/css" rel="stylesheet" href="http://weixiaoduo.com/s.css" />
<title> 薇晓朵</title>
<base href="https://www.weixiaoduo.com/bbs/" />
<!--如果 test.php 和 diz 安装目录不在同一目录,此处 「base href=……」 语句不可少 -->
</head>
<body style="text-align: center" >
{eval request('主题列表_八卦');}<!-----嵌入内部调用,换成自己的---
</body>
</html>
现在就可以直接运行 test.php 了!并且浏览器的网页中能看到具体的内容,而不是 js 代码。
第三步:如果需要生成 html 静态文件,则需另写一个文件 test1.php,内容如下:
<?php
$bruce=fopen("https://www.weixiaoduo.com/bbs/test.php","r");//你的 test.php 的网址
if(!$bruce)
{ echo'文件不存在';
exit;
}
while (!feof($bruce))
{
$rose=fgets($bruce);
$james=fopen("index.html","a");//index.html 为将生成的静态 html 网页的地址和名字
fwrite($james,$rose);
}
fclose($bruce);
?>
<a href="index.html"> 点击查看生成的文件</a>
在浏览器中打开 test1.php,执行代码,到这里,静态网页,基本完成了。
什么时候生成静态网页?多久生成一次静态网页,希望大家一起来想办法。