| 導購 | 订阅 | 在线投稿
分享
 
 
 

php操作php文件

來源:互聯網網民  2008-12-28 07:39:40  評論

聽起來有些暈吧?!!使用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,]$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} 此正則表達式序列匹配一個用十六進制符號表示的字符

單就處理字符串而言,使用單引號要比使用雙引號速度要快,所以你要在你的程序中選擇適當的引號。

 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
聽起來有些暈吧?!!使用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]; } [url=mailto:$fp=@fopen($filename,]$fp=@fopen($filename,"w[/url]") 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} 此正則表達式序列匹配一個用十六進制符號表示的字符 單就處理字符串而言,使用單引號要比使用雙引號速度要快,所以你要在你的程序中選擇適當的引號。
󰈣󰈤
王朝萬家燈火計劃
期待原創作者加盟
 
 
 
>>返回首頁<<
 
 
 
 
 
 熱帖排行
 
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有