php怎么把数据写入文本文件

php数据写入文本文件
匿名 问题未开放回答
推荐于2016-04-23 10:27:57 最佳答案
1、主要用到fopen和fwrite()两个函数
2、 fopen()函数的用法为fopen("文件名","模式"),如果文件不存在可以自动创建文件
模式主要有8种:
r打开文件为只读。文件指针在文件的开头开始。w打开文件为只写。删除文件的内容或创建一个新的文件,如果它不存在。文件指针在文件的开头开始。a打开文件为只写。文件中的现有数据会被保留。文件指针在文件结尾开始。创建新的文件,如果文件不存在。x创建新文件为只写。返回 FALSE 和错误,如果文件已存在。r+打开文件为读/写、文件指针在文件开头开始。w+打开文件为读/写。删除文件内容或创建新文件,如果它不存在。文件指针在文件开头开始。a+打开文件为读/写。文件中已有的数据会被保留。文件指针在文件结尾开始。创建新文件,如果它不存在。x+创建新文件为读/写。返回 FALSE 和错误,如果文件已存在。
3、fwrite()的用法为fwrite("文件名",$变量)
例如:
<?php
$myfile = fopen("newfile.txt", "w") or die("Unable to open file!");
$txt = "Bill Gates\n";
fwrite($myfile, $txt);
$txt = "Steve Jobs\n";
fwrite($myfile, $txt);
fclose($myfile);
?>

captain2005

采纳率:62% 来自团队:电脑网络新手2 擅长: 电脑/网络

其他回答

php文本文件读取-写入-修改-删除-查询五基本操作
留言本程序作

文本数据库共字段10:客户IP、发言间、客户名、客户EMAIL、客户主页址、留言表情图片名、客户QQ、客户形象图片、留言内容、管理员复内容

1、加入数据程序段
$date=date("Y-m-d H:i:s");//取系统
$ip = $HTTP_SERVER_VARS[REMOTE_ADDR]; //取发言IP
$text=encode($gb_text);//掉留言内容空格.
$fp=fopen("gb.dat","a");//写模式打gb.dat文本文件,文件指针指向文件尾部.
$str =$ip."|".$date."|".$gb_name."|".$gb_email."|".$gb_home."|".$face."|".$gb_qq."|". $head."|".$text."|".$reply."\n";//留言数据赋予变量$str"|"作数据数据间隔符号
fwrite($fp,$str);//数据写入文件
fclose($fp);//关闭文件

showmessage("留言功!","index.php","3");//留言3秒主界面
$gb_name 、$gb_email、$gb_home、$face、$gb_qq、$head、$gb_text、$reply由发言表单传数据
2、数据显示程序段
<?
if (file_exists("gb.dat")){//检测文件否存
$array=file("gb.dat");//文件全部内容读入数组$array
$arr=array_reverse($array);//$array数据安行翻转排列(即类推)读入数组$arr单元($arr[0]...)
$num=count($array);//获取数组$array信息数(条信息)
if ($num>0){//信息数于零(即文本数据库空)
$total=ceil($num/$pagesize);//计算总页数(取整数,即凡数点都进取整$pagesize预设每页显示信息数)
if($page<1){//前页面数码号于1
$page=1;//则赋值1
}
$number=($page-1)*$pagesize;//计算前所显示第留言数码号(数码号主要与数组单元号
for($i=0;$i<=$pagesize-1;$i++){//进入循环

$row=explode("|",$arr[$number]);//"|"作割符,割数组$arr每第$number单元数据,并些数据赋予数组$rom
list($ip,$datetime,$name,$email,$home,$face,$qq,$head,$text,$reply)=$row;//数组$row单元数据按顺序赋予括号变量
?
<img src=<? echo $head ?> >//显示客户形象图片
<br>
<font color="#0099CC">昵称【<? echo $name ?><font size="2">】<br>//显示客户名
发表于:<? echo $datetime ?>//显示留言发表
<br>
<img src=<? echo $face ?>>//显示客户留言表情图片
<? echo $name ?>说:<? echo $text; ?>//显示客户留言内容
<br>
<? echo $reply ?>//显示复内容
<br>
<a href="<? _fcksavedurl=""<?" echo $home ?>" target="_blank">访问<? echo $name ?>主页</a>//客户主页超连接
<a href="mailto:<? echo $email ?>">给<? echo $name ?>发信</a>//客户E-MAIL连接 网管u家www.bitscn.net
<? echo $name ?>QQ号码<? echo $qq ?>//显示客户QQ号码
<? echo $name ?>IP<? echo $ip ?>" //显示客户IP
<a href="reply.php?time=<? echo $datetime ?>">复</a>//留言连接语句
<a href="del.php?time=<? echo $datetime ?>">删除</a>//留言删除语句(客户留言间$datetime作删除标识)
<br>
<?
if ($number == $num-1)//数组单元号等于总留言数减单元号意味着条留言)
{
break;//跳循环
}
$number = $number + 1; //数组单元号加1
}//循环结束符
}
if ($page <> 1)//前页面数码号等于1
{
$back = $page - 1;//前页面数码号减1值赋予变量$back
echo "<a href=index.php?page=1>第页</a>";//显示第连接
echo " <a href=index.php?page=$back>页</a>" ;前页面数码号等于$back并显示其连接

}
if ($page <> $total)//前页面数码号等于总页数号(页数码号)
{
$next = $page + 1;//前页面数码号加1并赋予变量$next
echo " <a href=index.php?page=$next>页</a>" ;//显示页连接
echo " <a href=index.php?page=$total>页</a>"; 显示页连接
}
echo "页数:$page / $total";//显示前页面数码号显示页数码号
echo "共 $num 条留言";//显示留言数信息
}
else {
echo "<center>前没任何留言</center>";//文件内容空则显示信息
}
else {
echo "<center>数据文件丢失请联系管理员或发布留言重新建立数据文件</center>";//文件显示信息
}
3、数据修改程序段
$list=file("gb.dat");//读取整gb.dat文件数组$list,数组每元素条留言($list[0]条留言数据、$list[1]条留言数据..... 网管www.bitscn.net
$n=count($list);//计算$list内容留言总数,并赋予变量$n
if ($n>0){ //留言数于0
$fp=fopen("gb.dat","w");//则写模式打文件gb.dat
$gb_reply=encode($gb_reply);
for ($i=0;$i<$n;$i++) {//进入循环
if(eregi($ttime,$list[$i])){//发留言间$ttime与数组单元$list内容进行字串匹配比较
$f=explode("|",$list[$i]);//匹配"|"作隔符,切留言信息$list[$i](第$i条留言),并些数据赋予数组$f
$f[9]=$gb_reply;//$f[9](留言信息条数据)用$gb_reply(复内容)代替
$list[$i]=$f[0]."|".$f[1]."|".$f[2]."|".$f[3]."|".$f[4]."|".$f[5]."|".$f[6]."|".$f[7]."|".$f[8]."|".$f[9]."\n"; //数组单元$list[$i]内容用数组$f加隔符"|"代替(其$f[9]修改新数据)
break;//跳循环
}
}//循环结束符
}
FOR($i=0;$i<=$n;$i++){//进入循环
fwrite($fp,$list[$i]);//数组$list单元写入文件gb.dat
}//循环结束符
fclose($fp);//关闭文件
showmessage("功!","index.php");//主界面
4、数据删除程序段
$list=file("gb.dat");//读取整gb.dat文件数组$list,数组每元素条留言($list[0]条留言数据、$list[1]条留言数据.....
$n=count($list);//计算$list内容留言总数,并赋予变量$n
if ($n>0){//留言数于0
$fp=fopen("gb.dat","w");//则写模式打文件gb.dat
for ($i=0;$i<$n;$i++) {//进入循环
if(eregi($ttime,$list[$i])){//发送发留言间$ttime与数组$list[$i]字串进行匹配比较
$list[$i]="";//匹配$list[$i]清空(达删除
break;//跳循环
}
}//循环结束符
FOR($i=0;$i<=$n;$i++){//进入循环
fwrite($fp,$list[$i]);//数组$list单元写入文件gb.dat
} //循环结束符
fclose($fp);//关闭文件
showmessage("删除功!","index.php");//删除主界面

}

5、数据查询程序段
<form action="search.php" method="post">
<font color="#0099CC" size="2">搜索关键字:
<input name="found" type="text" id="found" style="background-color:#FFFFFF; color:#8888AA; border: 1 double #3399CC" size="12">
<input name="submit" type="image" src="image/search.gif" alt="留言搜索">
</font></td>
</tr>
</table>
</form>
////////////////////////////////搜索表单语句段
<?
$id=0;
$list=file("gb.dat");//读取整gb.dat文件数组$list,数组每元素条留言($list[0]条留言数据、$list[1]条留言数据.....
$n=count($list);//计算$list内容留言总数,并赋予变量$n
$found=trim($found);
if (!$found){ //$found
echo "<center>您没输入任何关键字</center>";//作相关显示

}
else {
if($n>0){//留言数于0
for ($i=0;$i<$n;$i++) {//进入循环
if(eregi($found,$list[$i])){//输入关键字与数组$list[$i]字串进行匹配比较
$row=explode("|",$list[$i]); $id=1; //匹配"|"作隔符,切留言信息$list[$i](第$i条留言),并些数据赋予数组$row.并变量$id赋予1便作否找匹配判断
list($ip,$datetime,$name,$email,$home,$face,$qq,$head,$text,$reply)=$row;//数组$row单元数据按顺序赋予括号变量
?>
<img src=<? echo $head ?> >//显示客户形象图片
<br>
<font color="#0099CC">昵称【<? echo $name ?><font size="2">】<br>//显示客户名
发表于:<? echo $datetime ?>//显示留言发表
<br>
<img src=<? echo $face ?>>//显示客户留言表情图片
<? echo $name ?>说:<? echo $text; ?>//显示客户留言内容
<br>
<? echo $reply ?>//显示复内容
<a href="<? _fcksavedurl=""<?" _fcksavedurl=""<?" echo $home ?>" target="_blank">访问<? echo $name ?>主页</a>//客户主页超连接
<a href="mailto:<? echo $email ?>">给<? echo $name ?>发信</a>//客户E-MAIL连接
<? echo $name ?>QQ号码<? echo $qq ?>//显示客户QQ号码
<? echo $name ?>IP<? echo $ip ?>" //显示客户IP
<a href="reply.php?time=<? echo $datetime ?>">复</a>//留言连接语句
<a href="del.php?time=<? echo $datetime ?>">删除</a>//留言删除语句(客户留言间$datetime作删除标识)
<br>
<?
}
}//循环结束符
}}
if($id==0){ echo "<center>没与关键字匹配留言</center>";}//$id=0则表示没找匹配显示相关提示

?>
展开
本回答被提问者采纳
xianfly | 推荐于2017-11-23 17:58:18
评论
<?php
$str="aaaaaa"; //文本
$file="book.txt"; //文件名 文件夹 book/book.txt
$fp=fopen($file,"w");//指针
fwrite($fp,$str);//写
fclose($fp);//关闭
?>
lwainixl | 发布于2010-11-11
评论

为您推荐:

广告

您可能关注的内容

×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消