做看右看好象忘了寫這個了,呵呵順便再寫一下
不少朋友用dat文件存儲小容量數據,構建文本數據表使用,很多和我一樣屬于小鳥級的朋友雖然對如何追加,刪除文件,清空文件都非常熟悉,但對于對文件內的某一條記錄操作去無奈了,最近寫了一個小留言本,把這個功能實現,這樣就給大家說一下了。
例: data.dat _________________________________________________________
[1] name∷sex∷phone∷address∷email∷
_________________________________________________________ 此文件為保存數據的文件 [1]------------- 代表記錄數據 ∷ ------------- 代表數據表的分割符號,可以為非\r,\n的字符
讀取頁面read.php (內容略) 將data.dat內的數據編排顯示。如下
1、你多大拉--- 發表人(sports98) 2002-13-42□(checkbox) 2、你多大拉--- 發表人(sports98) 2002-13-42□(checkbox) 3、你多大拉--- 發表人(sports98) 2002-13-42□(checkbox) 4、你多大拉--- 發表人(sports98) 2002-13-42□(checkbox) 通過form將checkbox信息傳到 do.php
do.php內容如下:
$filename="data.dat";//數據文件 $fp=file($filename);//將數據文件讀入 $number=count($fp);//計算總數據量 for($int_a=0;$int_a<$number;$int_a++){ if($int_a==$checkbox[])//這里可以是一個也可以是多個判斷,這里是以刪除一個記錄為例 continue; else $newmem.=$fp[$int_a]."\r"; //將文件內容賦新值 } $wfp=fopen($filename,"w"); fputs($wfp,$newmen); fclose($wfp); 刪除的思想是,將文本內的數據讀入內存,在內存中操作完畢后再清空文件寫,把符合刪除條件的記錄跳過就可以刪除了, 編輯就是把符合條件的記錄替換了就可以拉~
$filename="data.dat";//數據文件 $fp=file($filename);//將數據文件讀入 $number=count($fp);//計算總數據量 for($int_a=0;$int_a<$number;$int_a++){ if($int_a==$checkbox[])//這里可以是一個也可以是多個判斷,這里是以編輯一個記錄為例 $newmem.="";//這里是修改后的內容 else $newmem.=$fp[$int_a]."\r"; //將文件內容賦新值 } $wfp=fopen($filename,"w"); fputs($wfp,$newmen); fclose($wfp);
|