在公司第三週了,小組在做一個購物平台,為了提高訪問速度,一般的網站都會有許多靜態頁面,這樣只需訪問一次數據庫就可以不再讀取數據了。但萬萬沒想到的是生成靜態頁面這個任務組長交給了我來做,咦~呵呵呵呵,生成靜態頁面這種東西我一直覺得是高大上的東西啊,怎麼會交給我這個新鳥來做呢? !不過交給我了就做唄,如果延後豈不是很面子。 。 。 。
第一項工作就是藉助萬能的搜尋引擎在網路上找各種前輩經驗啊,後來看了看發現其實很簡單啊,並不是多麼高深莫測無非就是藉助PHP的file類,然後自己寫一個函數來產生一個文件,在需要產生靜態文件的地方引用該函數就OK了。
首先引入自己的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); }
做後總結一下:會了不難,難了不會~高程式碼沒有什麼是高深莫測的。咦~呵呵呵呵呵、、
以上是php教程之靜態檔案的生成的詳細內容。更多資訊請關注PHP中文網其他相關文章!