Rumah >pembangunan bahagian belakang >tutorial php >PHP生成HTML静态页面的方法

PHP生成HTML静态页面的方法

WBOY
WBOYasal
2016-07-29 09:11:43774semak imbas

从PHP生成HTML静态页面并存储到以年份和月份为名称创建的目录。
读取全部数据批量生成,全部生成后弹出提示。
可指定批次生成数量,建议不超过800,否则执行速度会有问题。

 为jbxue.com网站功能而开发,代码为本人原创,生成速度一般。 

(出于众所周知的原因,涉及到数据库的数据字段名称做了改动,并且为了代码明晰去掉了参数过滤的部分) 

 说明:原动态地址为 moban.php?id=1 ,生成后地址为 html/200808/sell_1.html 。page.php为分页程序,本博客中有发布。 

页面使用方式,将本代码保存为make.php,使用方法为浏览器访问 make.php?t=数量&pg=页面;例如 make.php?t=300&pg=2,即每次生成300条数据,从数据列表第2页开始生成,即跳过前面300条。如果不加任何参数,直接访问make.php,则默认每次生成200条,从第一页开始生成。

完整实例:

<?php if($_GET[pg]==''){   
$aa=1;   
}else{   
$aa=$_GET[pg];   
}   
include("admin/conn.php");   
<strong>require_once("page.php");   
$result=mysql_query("select * from 2carsell ");   
$totle=mysql_num_rows($result);   
$pagelist = $_GET[t];   
if($_GET[t]==''){   
$pagelist='200';   
}else{   
$pagelist=$_GET[t];   
}   
$pager = new Pager($totle,$pagelist);   
$datastat=" 共 <b>".$pager->countall."</b> 条,每次生成 <b>".$pager->countlist."</b> 条,共需生成 <b>".$pager->page."</b> 次";//数据统计   
$bb=$pager->page;   
$pagenav=$pager->backstr.$pager->thestr.$pager->nextstr;   
$limitFrom = $pagelist*($pager->pg-1);   
$result=mysql_query("select * from 2carsell ORDER BY id DESC limit $limitFrom,$pagelist");   
?>   
<center>
<div><b>第 <font color="red"><?echo $aa?></font> 次页面生成中.. echo $datastat?></b></div>
<br>   
   
//php生成静态页面  
// www.shouce.ren  
print "<center>
<textarea name="textarea" class="textarea">";   
while($datauser=mysql_fetch_array($result)){   
  
$iid=$datauser[id];   
$html = file_get_contents("/moban.php?id=".$iid."");   
$sql="select * from 2carsell where id=$iid";   
$data=mysql_fetch_array(mysql_query($sql));   
$path=date("Ym",$data[PutDate]);   
$testdir="html/".$path;   
if(file_exists ($testdir)):   
else:   
mkdir ($testdir, 0777);   
echo "目录".$testdir."创建成功!<br>";   
endif;   
  
$filename = "html/$path/sell_$iid.html";   
  
// 使用写入模式打开$filename   
if (!$handle = fopen($filename, 'w')) {   
print "不能打开文件 $filename";   
exit;   
}   
  
if (is_writable($filename)) {   
  
// 将$html写入到我们打开的文件中。   
if (!fwrite($handle, $html)) {   
print "不能写入到文件 $filename";   
exit;   
}   
  
print "文件 $filename 更新成功!\n\r";   
  
fclose($handle);   
  
} else {   
print "文件 $filename 不可写";   
}   
?>   
 }?>   
</textarea>   
<br><br>   
<div> echo $datastat."  "?></div>
<br><br>   
   
$aa=$aa+1;   
if($aa>$bb){   
echo '<font color="blue">恭喜,所有页面生成完毕!</font>';   
echo "<script>alert('所有文档生成/更新完毕!')</script>";   
}else{   
echo "<script> window.location='make.php?t=$pagelist&pg=$aa'; </script>";   
}   
?>  
</center>
</center>

以上就介绍了PHP生成HTML静态页面的方法,包括了require方面的内容,希望对PHP教程有兴趣的朋友有所帮助。

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn