<?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...