• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

php 我用fwrite() 写入了一个文件,怎么文件内容全变了?

php 搞代码 3年前 (2022-01-23) 18次浏览 已收录 0个评论
文章目录[隐藏]

我用fwrite() 写入了一个文件,怎么文件内容全变了?
本来文件2.txt的内容是

<code>★★★★★★★★★★★★</code>

然后我执行了以下脚本:

<code>$res = fopen( "R:/2.txt"  ,"r+" );fwrite( $res , "r" );fclose( $res );</code>

结果2.txt 成了:

<code>r铩铩铩铩铩铩铩铩铩铩铩铩铩铩铩铩铩铩铩铩铩铩铩铩铩铩铩铩铩?</code>

请问这是怎么回事?怎么改正?

回复内容:

我用fwrite() 写入了一个文件,怎么文件内容全变了?
本来文件2.txt的内容是

<code>★★★★★★★★★★★★</code>

然后我执行了以下脚本:

<code>$res = fopen( "R:/2.txt"  ,"r+" );fwrite( $res , "r" );fclose( $res );</code>

结果2.txt 成了:

<code>r铩铩铩铩铩铩铩铩铩铩铩铩铩铩铩铩铩铩铩铩铩铩铩铩铩铩铩铩铩?</code>

请问这是怎么回事?怎么改正?

因为这个五角星号一个字符占用不止一个字节,你写了 r 覆盖了第一个字节,导致之后的字符都被破坏了,因为正好第一个字符余下字节和第二字符的第一个字节正好可以拼成一个有效的编码。
你如果想要截断文件的话,应该写完后ftruncate。

是想追加内容?

http://php.net/manual/en/func&#8230;
fopen打开方式选择a的时候为追加写入。

6本文来源gao@dai!ma.com搞$代^码!网7

搞gaodaima代码

不用改,没错,只是编辑器错误的识别了文档的编码。。。


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:php 我用fwrite() 写入了一个文件,怎么文件内容全变了?

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址