php中主要用到的就是要用到fread()和fwirte()。而静态页面生成了之后,就会牵扯到修改的问题。这里可以用到正则匹配的方法来替换模版中改变的部位。不过此种方法太麻烦,值得推荐的方法是直接把原来生成的模版砍掉,重新生成,呵呵,真正的一了百了。 还需要说明的一点就是,这种生成静态页面的方法一般都用于那些变化不是很频繁的页面,比如信息的最终页面。而针对列表页,如果信息更新不是很频繁的话,也是可取的。现在网上流行好...
我们知道,PHP读取MYSQL动态显示,在访问量大的情况下,会有很多性能问题,如果租用别人的虚拟主机,则会因为CPU消耗过多而被限制CPU,导致网页无法访问。我这里给出一个PHP动态生成HTML的方法,可以极大降低服务器CPU负荷。 首先设置.htaccess文件,将动态调用的参数转换为静态的HTML的URL地址,例如将在post目录下的文件,转发到根目录的wp-post.php文件中,加入的语句类似: RewriteRule ^post/([a-z0-9\-]+\.html)$ wp-pos...
代码如下:/* author:www.5dkx.com done:生成html文档 date:2009-10-27 */ require_once("conn.php"); if($_GET['all']) { /*获取数据库记录,以便于生成html文件有个文件名*/ $sqlquery = "select * from $tbname"; $result = mysql_query($sqlquery,$conn)or die("查询失败!"); $fp = fopen("./template/article.html",r); $fpcontent = fread($fp,filesize("./template/article.html")); fclose($fp); /*写入文件*/ while($row =...
代码如下:$url='test.php?1=1'; $contents="fjka;fjsa;#page#批量生成分成文件并且加上分页代码"; $ptext ='#page#'; ContentsPages($url,$contents,$ptext) /** * 函数名:ContentsPages * 功能:文章内容分页 * 参数:$url文章内容页URL 类型string,$contents文章内容页内容 类型string,$ptext分页标识 类型string * 作者:七夜 * QQ:64438136 linus.php@gmail.com MSN:zhijian@live.com */ //文章数组 $arr = explode($ptext,...
看看下面的实例: 代码如下:function Test() { $w3sky = 0; echo $w3sky; $w3sky++; } ?> 本函数每次调用时都会将 $w3sky 的值设为 0 并输出 "0"。将变量加一的 $w3sky++ 没有其到效果,因为一旦退出本函数则变量 $w3sky 就不存在了。要写一个不会丢失本次计数值的计数函数,要将变量 $w3sky 定义为静态(static)的: 如下: 代码如下:function Test() { static $w3sky = 0; echo $w3sky; $w3sky++; } ?> 本函数每调用Test()都会...
但定时生成就受到了一些局限性,大家如果有独立服务器的能在服务器上设置计划任务,但如果是使用虚拟主机的可就不好办了.虽然方法非常多.但使用起来简便容易的,我觉得还是先判断已生成的首页文件的生成时间和现有时间之间的差值,如果满足某个值就开始生成这种方法比较来得容易.不多说了.开始吧! 网上找到的,记一下。实践证明,可用。 代码如下:<?php $nowtime=time(); $pastsec = $nowtime – $_GET["t"]; if($pastsec<60) { exit;...
代码如下://– 删除一篇文章生成的多个静态页面 //– 生成的文章名为 5.html 5_2.html 5_3.html /*—————————————————— */ function delStaticHtml ($article_id) { global $db; $sql = “SELECT `post_time` FROM `@__article` WHERE `article_id` = ‘{$article_id}”; $art = $db->getOne ($sql); if ($art) { $n = 1; $html_dir = ‘../html/.date(‘Ym,$art[post_time])./; $filename = $html_dir.$article_...
虽然方法很多,但使用起来简便容易的,我觉得还是先判断已经生成的首页文件的生成时间和现有时间之间的差值,如果满足某个值就开始生成,这种方法比较来得容易,不多说了,开始吧! 在开始之前还是提一下三个函数吧:"ob_start()、ob_end_clean()、ob_get_contents()" ob_start():是打开缓冲区的,就是要把您需要生成的静态文件的内容缓存在这里; ob_get_contents():是读出缓冲区里的内容,下面有代码为例; ob_end_clean():这个比...
代码如下:js 端 及判断 $(function(){ //var url=$(this)[0].location.href; //alert(url); goPageFirst(); $('#selpage').bind('change',goPage); }); //返回当前页数 function getNowPage() { return parseInt($('#nowPage').html()); } //返回每页显示的条数 function getPer() { return $('#perPage').val(); } //返回总记录数 function getTotal() { return parseInt($('#total').html()); } //返回总页数 function getAllPa...
一,PHP脚本与动态页面。 PHP脚本是一种服务器端脚本程序,可通过嵌入等方法与HTML文件混合,也可以类,函数封装等形式,以模板的方式对用户请求进行处理。无论以何种方式,它的基本原理是这样的。由客户端提出请求,请求某一页面 --- WEB服务器引入指定相应脚本进行处理 --- 脚本被载入服务器 --- 由服务器指定的PHP解析器对脚本进行解析形成HTML语言形式 -- 将解析后的HTML语句以包的方式传回给浏览器。由此不难看出...
在php中,访问类的方法/变量有两种方法: 1. 创建对象$object = new Class(),然后使用”->”调用:$object->attribute/function,前提是该变量/方法可访问。 2. 直接调用类方法/变量:class::attribute/function,无论是静态/非静态都可以。但是有前提条件: A. 如果是变量,需要该变量可访问。 B. 如果是方法,除了该方法可访问外,还需要满足: b1) 如果是静态方法,没有特殊条件; b2) 如果是非静态方法,需要改方法中没有使用...
代码如下://在你的开始处加入 ob_start(); ob_start(); //以下是你的代码 //在结尾加入 ob_end_clean(),并把本页输出到一个变量中 $temp = ob_get_contents(); ob_end_clean(); //写入文件 $fp = fopen(‘文件名','w'); fwrite($fp,$temp) or die(‘写文件错误'); ?> 这只是最基本的方法,还不是很实用,因为网站是要更新的,要定期重新生成HTML 下面是我用的方法: 代码如下:if(file_exists(“xxx.html”)) { $time = time(); /...
第一种:将php动态页面内容生成静态 代码如下:ob_start();#开启服务器缓存 include_once Index.php; $ctx=ob_get_contents();#获取缓存 ob_end_clean();#清空缓存 $fh=fopen("index.html","w+"); fwrite($fh,$ctx);#写入html,生成html fclose($fh); /* 1、Flush:刷新缓冲区的内容,输出。 函数格式:flush() 说明:这个函数经常使用,效率很高。 2、ob_start :打开输出缓冲区 函数格式:void ob_start(void) 说明:当缓冲区激活时...
给出代码: 代码如下:<?php //引入数据库配置文件 include( dirname(dirname(__FILE__))."\include\config.php" ); /** * * 将数据库中的文章生成单个HTML文件. * @param Date $Date * @param Time $Time * @param String $Content * @param String $Title */ function GenerateHTML($Date,$Time,$Content,$Title,$Name){ //将日期、时间变量分解成数组 $GetDateRow = explode("-", $Date); $GetTimeRow = explode(":",$Time); //...
代码如下://下面代码会画出一个很漂亮的叶子 // 定义 PI 一分的角度的值 define("PII", M_PI/180); // 新建图像资源,并定义其背景为 白色,前景色为 黑色 $im = imagecreate(670,500); $white = imagecolorallocate($im, 0xFF, 0xFF, 0xFF); $g = imagecolorallocate($im, 0x00, 0x00, 0x00); // 从下面实例化的代码可以得知,初始值 $x, $y, $L, $a 别分为 300, 500, 100, 270 function drawLeaf($g, $x, $y, $L, $a) { global $...