php调用7天内容,8.2 创建和修改文件内容

本文详细介绍了PHP中file_put_contents和fwrite函数用于文件写入的方法,包括基本用法、不同模式下的行为比较,如覆盖、追加和创建文件。通过实例演示,学习者可以快速理解这两种操作在实际项目中的应用。
摘要由CSDN通过智能技术生成

上一节当中我们学习了读取文件特别好掌握。这一节当中我们来讲解的是写入文件。

file_put_contents写入文件

我们先来学习第一种写入文件的方式:

int file_put_contents ( string $文件路径, string $写入数据])

功能:向指定的文件当中写入一个字符串,如果文件不存在则创建文件。返回的是写入的字节长度

$data = "我是一个兵,来自老百姓";

$numbytes = file_put_contents("binggege.txt", $data);

if($numbytes){

echo "写入成功,我们读取看看结果试试:";

echo file_get_contents("binggege.txt");

}else{

echo "写入失败或者没有权限,注意检查";

}

?>

我们发现写入文件也挺简单的。按照这个函数的格式,指定文件,写入字符串数据就可以了。

fwrite配合fopen进行写入操作

int fwrite ( resource $文件资源变量, string $写入的字符串 [, int 长度])

注:fwrite的别名函数是fputs

我们上节课试了r模式,只道是读取的时候使用,接下来我们用fwrite加上fopen中的w,写入模式来进行文件写入。

我们来看一下特点:

写入方式打开,将文件指针指向文件头并将文件大小截为零。如果文件不存在则尝试创建。

注意:在下面的实验中,你可以试试新建个test.txt文件向里面写入内容。然后,可以试试把test.txt删除。看看有什么提示。

$filename = "test.txt";

$fp= fopen($filename, "w");

$len = fwrite($fp, "我是一只来自南方的狼,一直在寻找心中的花姑娘");

fclose($fp);

print $len ."字节被写入了

";

?>

总结:

1.不论有没有新建都会打开文件重新写入

2.原有的文件内容会被覆盖掉

3.文件不存在会创建

那我们来对比一下以下几个模式的不同:

模式说明r只能读不能使用fwrite写

r+可操作读、写

w只可以写功能

w+即可读又可以写

我们来通过实验证明一下:

$filename = "test.txt";

$fp= fopen($filename, "r+");

$len = fwrite($fp, "我是一只来自南方的狼,一直在寻找心中的花姑娘");

fclose($fp);

print $len ."字节被写入了

";

?>

实验时可以把r后面的+号去掉。

我们通过实验,确实发现使用r模式,在文件存的时候可以进行写入数据,只用r的话,写入是不成功的。

a模式和w模式的不同

同样是下面的这段代码,我们改为a模式。

$filename = "test.txt";

$fp= fopen($filename, "a");

$len = fwrite($fp,"读大学迷茫了,PHP学院PHP给你希望");

echo $len ."字节被写入了

";

?>

打开网页执行这段代码,你会发现:每刷新一次,文件中就会多一段

:读大学迷茫了,PHP学院PHP给你希望。

总结:

模式总结x每次写入会干掉原有文件的内容,文件不存在都会创建

a每次写入都会向文件的尾端追加内容

注:a+ 是增强的追加功能。可以读取时也可以使用。

x模式和w模式的不同

这段代码我们再实验一次,改为x模式:

$filename = "test.txt";

$fp= fopen($filename, "x");

$len = fwrite($fp,"读大学迷茫了,PHP学院PHP给你希望");

echo $len ."字节被写入了

";

?>

我们会发现:

文件存在的时候会报错

如果把$filename 改成其他的文件名,就可以了。但是,再次刷新的时候又报错了

x+ 是增强的x模式。读取时也可以使用。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值