php生成HTML文件的应用和原理笔记

作者:袖梨 2022-06-24

1.PHP部分文件操作函数。(fopen , fread , filesize , fwrite , fclose)

2.unlink() , mkdir() 删除函数。

-------------------------------------------------------------

1.PHP部分文件操作函数
(1)fopen 打开文件函数。 R / W / A
格式:fonpen(路径和文件名,打开方式);

(2)fread 读取文件内容。
格式:fread(打开的文件,结束的位置);

(3)filesize 读取文件大小,字节为计量单位。
格式:filesize(路径和文件名);

(4)fwrite 写入文件内容。
格式:fwrite(路径和文件名,写入的内容);

(5)fclose 关闭打开的文件。
格式:fclose(路径和文件名);

-------------------------------------------------------------

2.unlink(); mkdir(); 删除函数

unlink(); 删除文件函数
格式:unlink(路径和文件);

mkdir(); 删除目录函数
格式:mkdir(路径和目录名);

-------------------------------------------------------------

实例操作:

 代码如下 复制代码

$title = "新标题";
$content = "新内容www.111com.net";

$fp = fopen("tmp.htm", "r"); //打开文件,以只读方式。
$str = fread($fp, filesize("tmp.htm")); //读取文件内容,格式:fread(打开的文件,结束的位置);。
$str = str_replace("{title}", $title, $str); //将str变量中的路径文件内容替换掉重新赋值
$str = str_replace("{content}", $content, $str);
fclose($fp); //以上为替换模板的内容。

$id = "hello";
$path = $id . '.htm';
$handle = fopen($path, "w"); //写入方式打开新闻路径
fwrite($handle, $str); //把刚才替换的内容写进生成的HTML文件
fclose($handle);
echo "生成成功";
?>

例,找到一个html生成类

 代码如下 复制代码

// --------------------------------------------------------------------------
// File name   : html.class.php
// Description : www.111com.net生成静态页面的类
// Requirement : PHP5
//
// Copyright(C), 蟋蟀, 2013, All Rights Reserved.
//--------------------------------------------------------------------------

class myHtml{

//生成html文件路径
private $html_dir="./";
//html文件名称
private $html_name;
//生成html文件的位置名称
public  $path;
//缓存区内容
private $content;
//文件句柄
private $handle;
//内存指针
private $accesses;
         //构造函数
public function __construct($html_dir="",$html_name="")
{
   $this->accesses++;
  //如果文件路径不存在建立文件夹
  if(opendir($html_dir)==0)
         {
           mkdir($html_dir);
         }

  $this->html_dir=$html_dir!=""?$html_dir:"./";
  $this->html_name=$html_name!=""?$html_name:substr(basename(__FILE__),0,strrpos(basename(__FILE__),".")).".html";
  $this->path= ($this->html_dir{strlen($this->html_dir)-1}=="/")
     ?($this->html_dir.$this->html_name):($this->html_dir."/".$this->html_name);
  ob_start();

}
//析构函数
public function __destruct()
        {
         $this->accesses--;
          ob_end_clean();
        }
//生成html页面
function tohtml()
{
$this->content=ob_get_contents();
if (is_file ($this->path)){
  @unlink ($this->path);
}
$handle = fopen ($this->path,"w");
if (!is_writable ($this->path)){
  return false;
}
if (!fwrite ($handle,$this->content)){
  return false;
}
fclose ($handle); //关闭指针
return $this->path;
}
}
/*
$html=new myHtml("./","z.htm");
print "静态页面程序";
$html->tohtml();
*/
?>

 

相关文章

精彩推荐