当前位置:  编程技术>php
本页文章导读:
    ▪了解php生成静态HTML文件的原理      1、PHP生成HTML文件部分文件操作函数. (1)  fopen 打开文件函数      fopen (路径和文件名,打开方式);  打开方式:R-只读 W-写入 A-读写 (2)  fread 读取文件内容      fread (打开的文件,结束位.........
    ▪php输出时间与当前时间不一致的解决办法      php中会有这样一个现象:PHP时间与本地时间慢8小时。 这里为大家提供两种解决PHP时区的解决办法,供大家参考。 一、在PHP页面顶端设置时区标识: 使用函数date_default_timezone_set(时区标识符); .........
    ▪explode函数 使用说明         explode() (PHP 3, PHP 4, PHP 5)    explode -- 使用一个字符串分割另一个字符串    说明    array explode ( string separator, string string [, int limit] )    此函数返回由字符串组成的数组,每个元素都.........

[1]了解php生成静态HTML文件的原理
    来源: 互联网  发布时间: 2013-12-24

1、PHP生成HTML文件部分文件操作函数.
(1)  fopen 打开文件函数
     fopen (路径和文件名,打开方式);  打开方式:R-只读 W-写入 A-读写
(2)  fread 读取文件内容
     fread (打开的文件,结束位置);   结束位置:以字节为单位
(3)  filesize 读取文件大小,字节为计量单位
     filesize (路径和文件名);
(4)  fwrite 写入文件内容
     fwrite (路径和文件名,写入的内容);
(5)  fclose 关闭打开的文件
     fclose (路径和文件名);
 
2.实例说明.
(1)在MYSQL里新建一数据库,命名为 database (可自定义),新建一表,命名为 news(因为是新闻发布嘛,取个好记的名字即可,可自定义),然后建立这几个字段名:
id (自动递增,这是关键,类型:INT)
title (顾名思义,新闻标题,类型可取 TEXT)
content (新闻内容,类型可取 TEXT)
path (HTML文件路径,类型可取 TEXT)

(2)建立 conn.php
这是连接数据库的PHP文件,你可以把连接数据的语句单独放在这一文件里,以后多个需要连接数据库的文件直接引用这个文件即可。

(3)设计添加新闻的表格 add.form 简单的源代码如下:
 

代码如下:
<form method=”post” action=”add.php”> //提交至 add.php
新闻标题:<input type=”text” name=”title” size=”20”><br>
新闻内容:<textarea name=”content” cols=”10” rows=”25”></textarea><br>
<input type=”submit” name=”提交”>
</form>

(4)建立一个 HTML 的模板,另存为model.htm,和 add.php可以在同一目录下。
示例源代码:
 

代码如下:
<html>
<body>
此新闻的标题:{title}
此新闻的内容:{content}
</body>
</html>
 

{ }大括号内的内容即是要被替换的内容,整个静态模板的设计可以根据自己的思路,但{ }内被替换的内容必须包含在内,如上面的{title},{content};咔咔~简单地说,设计好一个很好看的新闻模板后,把要被替换的如{title},{content}等标记放到需要的地方就可以了撒。

(5)详解 add.php 源码
 

代码如下:

<?php   
    require_once(“conn.php”); //引用conn.php,连接数据库   
    $title=$_POST[“title”];   
    $content=$_POST[“content”]; //获得表单变量   
     
    //以下建立一文本文档,其值自动计数   
    $countfile="count.txt";   
    if(!file_exists($countfile))   
    {   
    fopen($countfile,"w"); //如果此文件不存在,则自动建立一个   
    }   
    $fp=fopen($countfile,"r");   
    $num=fgets($fp,20);   
    $num=$num+1; //每次其值自动加一   
    fclose($fp);   
    $fp=fopen($countfile,"w");   
    fwrite($fp,$num); //更新其值   
    fclose($fp);   

//利用上面自动计数的值获得HTML的路径$path
$houzui=”.html”;
$path=$num.$houzui;
//这样形成的路径是自动增长的,如1.html,2.html,3.html……….添加一条新闻便自动加上1
//以下用SQL语句添加数据至表 news

$sql=”insert into news (title,content,path) values (‘”.$title.”’,’”.$content.”’,’”.$path.”’)”;
$query=mysql_query()($sql);

//以下为关键之处,把从表单获得的数据替换模板中的{title},{content}标记
$fp=fopen(“model.htm”,”r”) //只读打开模板
$str=fread($fp,filesize(“model.htm”));//读取模板中内容
$str=str_replace()(“{title}”,$title,$str);
$str=str_replace(“{content}”,$content,$str);//替换内容
fclose($fp);

$handle=fopen($path,”w”); //写入方式打开新闻路径
fwrite($handle,$str); //把刚才替换的内容写进生成的HTML文件
fclose($handle);

//收尾工作:
echo “<a href=/blog_article/$path/index.html target=_blank>查看刚才添加的新闻</a>”;
?>

OK,整个生成HTML的示例源码就到这里,其关键是用了替换的方法。
$str=str_replace(“{被替换的内容}”,$替换的内容,$str);

总结:
    先设计好新闻模板,把需要被替换的内容用{ }放到模板中相应的位置,然后设计表单,再是最后的表单处理程序,把从表单中获取的变量替换模板中相应的内容即可,这样每次都会生成不同的HTML;

    如果需要修改HTML的内容也是一样的,获得修改后的表单内容后,先用 update 语句更新数据库,再重新替换一下模板中的内容即可;删除的话,先delete表中要删除的内容,再用unlink($path) 来删除HTML的物理文件即可。
您可能感兴趣的文章:
php生成静态页面的三种方法与代码详解
php生成静态页面函数(php2html)的例子
php生成静态页面的方法(三个函数)
细说php生成静态文件之模板与缓存
php写的一个生成静态页面的类
虚拟主机上定时自动生成静态页面的方法
php生成静态文件的二种方法
php生成静态页面的详细教程
php生成静态html文件的原理分析
smarty生成静态页面的方法
PHP生成静态页面的方法


    
[2]php输出时间与当前时间不一致的解决办法
    来源: 互联网  发布时间: 2013-12-24

php中会有这样一个现象:PHP时间与本地时间慢8小时。
这里为大家提供两种解决PHP时区的解决办法,供大家参考。

一、在PHP页面顶端设置时区标识:
使用函数date_default_timezone_set(时区标识符);
如:date_default_timezone_set(PRC);

二、修改php.ini文件
找到 “;date.timezone = ” 字样的一行文字,把前面的 “;”去掉,同时把“=”号后加入 PRC 就OK了;
修改后:date.timezone = PRC 或 date.timezone = Asia/Chongqing (Asia/Shanghai,Asia/Chongqing其中任何一个)
重启apache,问题解决。


    
[3]explode函数 使用说明
    来源: 互联网  发布时间: 2013-12-24

   explode() (PHP 3, PHP 4, PHP 5)
   explode -- 使用一个字符串分割另一个字符串
   说明
   array explode ( string separator, string string [, int limit] )

   此函数返回由字符串组成的数组,每个元素都是 string 的一个子串,它们被字符串 separator 作为边界点分割出来。如果设置了 limit 参数,则返回的数组包含最多 limit 个元素,而最后那个元素将包含 string 的剩余部分。

    如果 separator 为空字符串(""),explode() 将返回 FALSE。如果 separator 所包含的值在 string 中找不到,那么 explode() 将返回包含 string 单个元素的数组。

    如果 limit 参数是负数,则返回除了最后的 limit 个元素外的所有元素。此特性是 PHP 5.1.0 中新增的。

例 1. explode() 例子
 

代码如下:

<?php
// 示例 1
$pizza  = "piece1 piece2 piece3 piece4 piece5 piece6";
$pieces = explode(" ", $pizza);
echo $pieces[0]; // piece1
echo $pieces[1]; // piece2

// 示例 2
$data = "foo:*:1023:1000::/home/foo:/bin/sh";
list($user, $pass, $uid, $gid, $gecos, $home, $shell) = explode(":", $data);
echo $user; // foo
echo $pass; // *
?>

例 2. limit 参数例子
 

代码如下:

<?php
$str = 'one|two|three|four';

// 正数的 limit
print_r(explode('|', $str, 2));

// 负数的 limit(自 PHP 5.1 起)
print_r(explode('|', $str, -1));
?>

上例将输出:
Array
(
    [0] => one
    [1] => two|three|four
)
Array
(
    [0] => one
    [1] => two
    [2] => three
)
 


    
最新技术文章:
▪PHP函数microtime()时间戳的定义与用法
▪PHP单一入口之apache配置内容
▪PHP数组排序方法总结(收藏)
▪php数组排序方法大全(脚本学堂整理奉献)
▪php数组排序的几个函数(附实例)
▪php二维数组排序(实例)
▪php根据键值对二维数组排序的小例子
▪php验证码(附截图)
▪php数组长度的获取方法(三个实例)
▪php获取数组长度的方法举例
▪判断php数组维度(php数组长度)的方法
▪php获取图片的exif信息的示例代码
▪PHP 数组key长度对性能的影响实例分析
▪php函数指定默认值的方法示例
▪php提交表单到当前页面、提交表单后页面重定...
▪php四舍五入的三种实现方法
▪php获得数组长度(元素个数)的方法
▪php日期函数的简单示例代码
▪php数学函数的简单示例代码
▪php字符串函数的简单示例代码
▪php文件下载代码(多浏览器兼容、支持中文文...
▪php实现文件下载、支持中文文件名的示例代码...
▪php文件下载(防止中文文件名乱码)的示例代码
▪解决PHP文件下载时中文文件名乱码的问题
▪php数组去重(一维、二维数组去重)的简单示例
▪php小数点后取两位的三种实现方法
▪php Redis 队列服务的简单示例
▪PHP导出excel时数字变为科学计数的解决方法
▪PHP数组根据值获取Key的简单示例
▪php数组去重的函数代码示例
 


站内导航:


特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2021,,E-mail:www_#163.com(请将#改为@)

浙ICP备11055608号-3