本文引自網絡
首先引入自己的FILE類:
<?php
/**
* 文件處理類
*/
class Files
{
private $resource = null; //文件資源句柄
function __construct($fileName,$mode='r')
{
$dirName = dirname($fileName);//文件路徑
$baseName = basename($fileName);//文件名
//檢查並創建文件夾
self::mkdir($dirName);
$this->resource = fopen($fileName,$mode.'b');
if($this->resource)
{
flock($this->resource,LOCK_EX);//進行鎖定
}
}
//文件寫入函數
public function write($content)
{
$worldsnum = fwrite($this->resource,$content);
return is_bool($worldsnum) ? false : $worldsnum;
}
}
寫一個函數來生成靜態文件:
private function writeHtml($path,$content){
if(! class_exists('Files')){
$this -> load ->file(APPPATH.'libraries/Files'.EXT);//本人用的CI 框架,引入文件類這里要稍作改動
$f = new Files($path,'w+');
$res = $f->write($content);
$f->save();
}
最后在需要生成靜態頁面的地方調用上面那個函數:
function crativehtml{
$url = "PHP動態文件路徑";
$content = file_get_contents($url);//獲取文件內容
$this -> _writeFile($path.'文件名.html',$content);
}
就這樣一個靜態文件就生成了,最后一個文件可以寫在多個地方來生成不同的靜態文件、