萬盛學電腦網

 萬盛學電腦網 >> 網絡編程 >> php編程 >> php生成HTML文件的應用和原理筆記

php生成HTML文件的應用和原理筆記

生成html頁面我們需要使用到的文件系統操作函數包括有fopen , fread , filesize , fwrite , fclose了,這些是基本要用到了,還像刪除,創建目錄之類的,下面我們來看看。

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(路徑和目錄名);

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

實例操作:

 代碼如下 復制代碼

<?php
$title = "新標題";
$content = "新內容www.111cn.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生成類

 代碼如下 復制代碼

<?php

// --------------------------------------------------------------------------
// File name   : html.class.php
// Description : www.111cn.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();
*/
?>

 

copyright © 萬盛學電腦網 all rights reserved