首頁  >  文章  >  後端開發  >  php教程之靜態檔案的生成

php教程之靜態檔案的生成

巴扎黑
巴扎黑原創
2017-08-10 15:39:251571瀏覽

在公司第三週了,小組在做一個購物平台,為了提高訪問速度,一般的網站都會有許多靜態頁面,這樣只需訪問一次數據庫就可以不再讀取數據了。但萬萬沒想到的是生成靜態頁面這個任務組長交給了我來做,咦~呵呵呵呵,生成靜態頁面這種東西我一直覺得是高大上的東西啊,怎麼會交給我這個新鳥來做呢? !不過交給我了就做唄,如果延後豈不是很面子。 。 。 。

第一項工作就是藉助萬能的搜尋引擎在網路上找各種前輩經驗啊,後來看了看發現其實很簡單啊,並不是多麼高深莫測php教程之靜態檔案的生成無非就是藉助PHP的file類,然後自己寫一個函數來產生一個文件,在需要產生靜態文件的地方引用該函數就OK了。

首先引入自己的FILE類別:

<?php
/**
 * 文件处理类
 */
class Files
{
	private $resource = null; //文件资源句柄
	function __construct($fileName,$mode=&#39;r&#39;)
	{
		$dirName  = dirname($fileName);//文件路径
		$baseName = basename($fileName);//文件名

		//检查并创建文件夹
		self::mkdir($dirName);

		$this->resource = fopen($fileName,$mode.&#39;b&#39;);
		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(&#39;Files&#39;)){
		$this -> load ->file(APPPATH.&#39;libraries/Files&#39;.EXT);//本人用的CI 框架,引入文件类这里要稍作改动
		$f  = new Files($path,&#39;w+&#39;);
		$res = $f->write($content);
		$f->save();
	}
最後在需要產生靜態頁面的地方呼叫上面那個函數:

function crativehtml{
		$url = "PHP动态文件路径";
		$content = file_get_contents($url);//获取文件内容
        $this -> _writeFile($path.&#39;文件名.html&#39;,$content);
	}

就這樣一個靜態檔案就產生了,最後一個檔案可以寫在多個地方來產生不同的靜態文件、、、

做後總結一下:會了不難,難了不會~高程式碼沒有什麼是高深莫測的。咦~呵呵呵呵呵、、

#

以上是php教程之靜態檔案的生成的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn