聽起來有些暈吧? ! !使用php來操作php頁面。有一個小的用途,在一個系統當中可能會有個別的小項不便存入數據庫,但是我們又要經常在其他頁面當中調用,而且還需要更新,那麼我們就可以用這種方式來解決。其中遇到幾個小問題,搞了俺半天才搞定
比如說:用戶需要更改某一個標題,但是單獨為這個標題在建立一個表,顯然不太合適。所以就想到,把這個變數寫入php檔案當中,供其它頁面呼叫。 name.php文件,所需的內容如下:
<?
$name="標題";
?>
"標題"這兩個字需要使用者可以更新。那我們要如何來實現:
一個簡單的提交資訊頁面add_name.php
<form action="addname.php" method="post">
<input type="text" name="name" size="20" />
<input type="submit" value="提交" />
一個接收使用者提交資訊並進行處理的頁面addname.php
<?
$name=$_POST['name']; //接收從add_name.php傳過來的name值
if(empty($name)){ //判斷是否為空
?>
<script language='javascript'>
alert("名稱不能為空!");
document.location='add_name.php';
</script>
<?
}else{
$filename="name.php"; //定義操作文件
$delline=2; //要刪除的行數
if(!file_exists($filename)){ //判斷檔案是否存在
die("指定檔案未發現!操作中斷!");
}
$farray=file($filename); //讀取檔案資料到陣列中
for($tmpa=0;$tmpa<count($farray);$tmpa++){
if(($tmpa+1)==2){ //判斷行數
$farray[$tmpa]="$name2=".""".$name."";n"; *
//替換原有行的數據
} //重新整理後的數據
$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檔案當中的變數。當然這是比較笨的方法(誰讓俺也是笨人)。這種需求還有很多種實現方式。
其中*標記的一行當中,我們用到轉義字符,這個說起來很簡單,但是我測試的時候由於方法不得當倒是浪費了不少時間。現在把轉義字元表貼在下面:
轉義字元序列意義
n 換行(LF 或ASCII 字元0x0A(10))
r 回車(CR 或ASCII 字元0x0D(13))
t 水平製表符(HT 或ASCII 字元0x09(9))
\ 反斜線
$ 美元符號
" 雙引號
[0-7]{1,3} 此正規表示式序列符合一個以八進位符號表示的字符
x[0-9A-Fa-f]{1,2} 此正規表示式序列符合一個以十六進位符號表示的字符
單就處理字串而言,使用單引號要比使用雙引號速度要快,所以你要在你的程式中選擇適當的引號。