如何更新PHP批量生成的静态页面 根据数据库数据 批量生成一堆html不能一直for 东西太多了 ! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 竟然是更改,那么就贴出原代码才行.要不然怎么给你更改?如果是数组不用for 那就foreach 吧,再说要不要for又怎么了 下面是网上看到的,但是我是数据库文件,不是txt文件,怎么弄?//获取所有标题$titles = file('title.txt');$contents = file('content.txt');$filename = 0;foreach($titles as $title){ $content = ''; for($i = 0; $i < 10; $i++){//假如随机抽10行内容,这块你也可以用文件指针形式读取,不过不如这个准确 $content .= $contents[rand(1, 10) - 1] . '<br>';//假如content.txt总行数只有10行 } /* 有标题了($title),有内容了($content),下面就看你组合了,很简单 */ $html = <<<html 这里面是内容的组合html; ++$filename; //生成html文件 file_put_contents($filename, $html);} 看到经典的了include ('smarty.class.php'); //引用smarty核心文件$smarty = new Smarty(); //实例化类$content = $smarty->fetch('index.tpl'); //获取页面内容,index.tpl是模板文件$fp = fopen('index.html', 'w'); //打开index.html文件fwrite($fp, $content); //把内容写入index.html 搞定 什么叫读取数据库文件难道不是先通过读取数据库里面的数据,制作成自己的模板再输入html吗 我的是 子级文件生成频率 m - 每月一个文件夹 y - 一年一个文件夹 d 每天一个文件夹等于说文件名不一样 本程序作用是从PHP生成HTML静态页面并存储到以年份和月份为名称创建的目录。读取全部数据批量生成,全部生成后弹出提示。可指定批次生成数量,建议不超过800,否则执行速度会有问题。为cd2sc.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"); 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 style="font-size:14px;"><b>第 <font color=red><?echo $aa?></font > 次页面生成中..<? echo $datastat?></b></div><br> <? print "<center><textarea name=textarea class=textarea style='width:520px;height:455px'>"; 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 style="font-size=12px"><? 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>"; } ?> php 技术研究群(45352956) apache端口号问题(关于WAMP 俺是初学者) 关于数组的小问题 请问这种效果是怎么做的? 如何加上排除组合出来的重复号码 学PHP遇到瓶颈,大侠们给个建议好不? Mysql数据库编码与表编码有什么区别啊? 急求。大家用什么软件把access 转换为mysql数据库啊。??? 两个菜问题……问题太菜,所以分数不多,请见谅。 谁写过RADIUS的客户端的程序?(主要用与用户效验) smarty的缓存机制 一个分页问题的疑惑
//获取所有标题
$titles = file('title.txt');
$contents = file('content.txt');
$filename = 0;
foreach($titles as $title){
$content = '';
for($i = 0; $i < 10; $i++){//假如随机抽10行内容,这块你也可以用文件指针形式读取,不过不如这个准确
$content .= $contents[rand(1, 10) - 1] . '<br>';//假如content.txt总行数只有10行
}
/*
有标题了($title),有内容了($content),下面就看你组合了,很简单
*/
$html = <<<html
这里面是内容的组合
html;
++$filename;
//生成html文件
file_put_contents($filename, $html);
}
$smarty = new Smarty(); //实例化类
$content = $smarty->fetch('index.tpl'); //获取页面内容,index.tpl是模板文件
$fp = fopen('index.html', 'w'); //打开index.html文件
fwrite($fp, $content); //把内容写入index.html 搞定
难道不是先通过读取数据库里面的数据,制作成自己的模板
再输入html吗
等于说文件名不一样
(出于众所周知的原因,涉及到数据库的数据字段名称做了改动,并且为了代码明晰去掉了参数过滤的部分) 说明:原动态地址为 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");
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 style="font-size:14px;"><b>第 <font color=red><?echo $aa?></font > 次页面生成中..<? echo $datastat?></b></div><br>
<?
print "<center><textarea name=textarea class=textarea style='width:520px;height:455px'>";
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 style="font-size=12px"><? 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>";
}
?>