不少朋友用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);
Java Asp PHP .Net XML C/C++ CGI VB Jsp J2ee J2se J2me EJB Servlet Tomcat Resin Struts Weblogic Eclipse ANT GUI JMS Web servise IDEA Webphere Hibernate Spring Jboss Applet Swing Socket Javamail Perl Ajax P2P 安全 模式 框架 测试 开源 游戏
Windows XP Windows 2000 Windows 2003 Windows Me Windows 9.x Linux UNIX 注册表 操作系统 服务器 应用服务器