聽起來有些暈吧?!!使用php來操作php頁面。有一個小的用途,在一個系統當中可能會有個別的小項不便存入資料庫,但是我們又要經常在其他頁面當中調用,而且還需要更新,那麼我們就可以用這種方式來解決。其中遇到幾個小問題,搞了俺半天時間才搞定
比如說:使用者需要更改某一個標題,但是單獨為這個標題在建立一個表,顯然不太合適。所以就想到,把這個變數寫入php檔案當中,供其它頁面調用。name.php檔案,需要的內容如下:
$name="標題";
?>
"標題"這兩個字需要使用者可以更新。那麼我們如何來實現:
一個簡單的提交資訊頁面add_name.php
一個接收使用者提交資訊並進行處理的頁面addname.php
$name=$_POST[name]; //接收從add_name.php傳過來的name值
if(empty($name)){ //判斷是否為空白
?>
}else{
$filename="name.php"; //定義操作檔案
$delline=2; //要刪除的行數
if(!file_exists($filename)){ //判斷檔案是否存在
die("指定檔案未發現!操作中斷!");
}
$farray=file($filename); //讀取檔案資料到數組中
for($tmpa=0;$tmpa if(($tmpa+1)==2){ //判斷行數
$farray[$tmpa]="$name2=".""".$name."";"; *
//替換原有行的資料
} //重新整理後的資料
$newfp.=$farray[$tmpa];
}
$fp=@fopen($filename,"w") or die("寫方式開啟檔案 $filename 失敗");
//我們以寫的方式開啟檔案
@fwrite($fp,$newfp) or die("檔案寫入失敗");
@fclose($fp); 關閉檔案
}
?>
這段代碼只是做測試用117-202 1Z0-043 1z0-042 。寫的不規範的地方倒是貽笑大方了!
這樣我們就可以用來更新name.php檔案當中的變數。當然這是一種比較笨的方法(誰讓俺也是笨人)。這種需求還有很多種實現方式。
其中*標記的一行當中,我們用到逸出字元,這個說起來很簡單,但是我測試的時候由於方法不得當倒是浪費了不少時間。現在把逸出字元表貼在下面:
逸出字元 序列含義
換行(LF 或 ASCII 字元 0x0A(10))
斷行符號(CR 或 ASCII 字元 0x0D(13))
水平定位字元(HT 或 ASCII 字元 0x09(9))
\ 反斜線
$ 貨幣符號
" 雙引號
[0-7]{1,3} 此Regex序列匹配一個用八進位符號表示的字元
x[0-9A-Fa-f]{1,2} 此Regex序列匹配一個用十六進位符號表示的字元
單就處理字串而言,使用單引號要比使用雙引號速度要快,所以你要在你的程式中選擇適當的引號。
http://www.bkjia.com/PHPjc/486631.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/486631.htmlTechArticle聽起來有些暈吧?!!使用php來操作php頁面。有一個小的用途,在一個系統當中可能會有個別的小項不便存入資料庫,但是我們又要經常在...