PHP模版頁面靜態化

2021-06-05 11:47:00 字數 2898 閱讀 8110

<?php

header('content-type:text/html;charset=utf-8');//編碼設定

/**powered by leeyea

*2011-11-16

大概步驟: 

模版說明:

1.模版介面根據自己的思路設計(前台美工)

2.預留出需要被替換的區域,用存放{title}和{content}

2.大括號{title}和{content}裡面的標記必須存在,方便後面php函式來替換 

*//************************************add.php 新增,資料處理頁面*******************************/

//以下建立num_count.txt文字文件,其值自動計數

$txt="num_count.txt";//用來生成不同的檔名(數字)

if(!file_exists("$txt"))

$fp=fopen($txt,'r');//如果存在,以唯讀的方式訪問

$num=fgets($fp,20);//讀取文件中20-1個字元數

$num=$num+1;//每次其值自動加1

fclose($fp);

$fp=fopen($txt,'w');

fwrite($fp,$num);//更新其值

fclose($fp);

//利用上面自動計數的值獲得html靜態路徑path,並且生成的路徑是自動增長的;

//如1.html、2.html…每增加一條新聞便自動加1

$houzui='.html';//網頁格式字尾

$folder='newsfile/';//存放的資料夾名字

$path=$folder.$num.$houzui;//生成的檔名

//此處用sql語句把表單資料insert到資料表news中去

require_once('inc/conn.php');

$title=$_get['title'];

$content=$_get['content'];

$sql="insert into news (title,content,path)values('$title','$content','$path')";

$query=mysql_query($sql)or die('操作失敗');

//以下是關鍵,把從表單獲得的資料替換模版中的{title},{content}標記

$fp=fopen('model.html','r');

$str=fread($fp,filesize('model.html'));//讀取模版中內容

$str=str_replace('',$title,$str);//把表單來的變數替換到模版中的{title}

$str=str_replace('',$content,$str);//把表單來的變數替換模版中的{content}

fclose($fp);

$page=fopen($path,'w');//寫入方式促使其生成html頁面,作為新聞標題鏈結的頁面

fwrite($page,$str);//把之前模版裡的內容寫入生成的html頁面

fclose($page);

/*---------------------------結束-----------------------------*/

//測試程式的執行

header("location:index.php");

//注:此頁面不能重新整理,否則會生成新的檔案

/*******************************update.php更新資料************************************/

//接收傳過來的檔案路徑作為資料庫檢索的條件

//先更新資料庫

$sql="update news set title='$title',content='$content' where path='$path'";

$query=mysql_query($sql)or die('更新資料庫記錄失敗');

//再開啟更新對應的模版生成的html檔案

$model=fopen('model.html','r');

$str=fread($model,filesize('model.html'));

$str=str_replace('',$title,$str);

$str=str_replace('',$content,$str);

fclose($model);

$page=fopen($path,'w');//開啟待更新的頁面

fwrite($page,$str);//寫入新的資料

fclose($page);

/**************************************del.php刪除資料************************************/

//先刪除資料庫中的對應記錄

$sql1="delete from news where path='$path'";

$query1=mysql_query($sql1)or die('運算元據庫失敗');

mysql_close($conn);

//再刪除物理檔案

if(file_exists($path))else

}/*---------------------------思路總結-----------------------------

設計模版,把需要被替換的內容用{}放到模版相應的位置

修改也是一樣,先用update語句更新資料庫(以傳過來的$path作為關鍵字檢索);然後重新賦值給模版,再次開啟生成的頁面,把模版內容給它即可;

刪除,先delete表中要刪除的內容,再用unlink($path)來刪除html的物理檔案即可;

*/?>

php頁面靜態化

目前cms系統多採用了頁面靜態化,這樣做的好處是 一是能減輕其伺服器的負擔,二是因為生成了html靜態頁面,所以其 被搜尋引擎搜尋到的機率更大一些,也就是為了 推廣。1 頁面靜態化分類 真靜態 通過程式生成靜態頁面檔案,當我們訪問的時候,就是直接訪問的靜態頁面。偽靜態 是動態的 看起來像靜態的 換句...

php 頁面靜態化

php靜態化的簡單理解就是使 生成頁面以靜態html的形式展現在訪客面前,php靜態化分純靜態化和偽靜態化。兩者的區別在於php生成靜態頁面的處理機制不同。1.ob快取實現 頁面在輸出之前,會將輸出資料暫時存放到buffer 緩衝器 中,然後才會輸出到頁面,所以buffer中的資料就是php 執行後...

php頁面靜態化

php頁面靜態化 php靜態化的簡單理解就是使 生成頁面以靜態html的形式展現在訪客面前,php靜態化分純靜態化和偽靜態化,兩者的區別在於php生成靜態頁面的處理機制不同。為什麼要頁面靜態化 一 加快頁面開啟瀏覽速度,靜態頁面無需連線資料庫開啟速度較動態頁面有明顯提高 二 有利於搜尋引擎優化seo...