做看右看好象忘了写这个了,呵呵顺便再写一下 不少朋友用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); |