84669 person learning
152542 person learning
20005 person learning
5487 person learning
7821 person learning
359900 person learning
3350 person learning
180660 person learning
48569 person learning
18603 person learning
40936 person learning
1549 person learning
1183 person learning
32909 person learning
我用fwrite() 写入了一个文件,怎么文件内容全变了?本来文件2.txt的内容是
★★★★★★★★★★★★
然后我执行了以下脚本:
$res = fopen( "R:/2.txt" ,"r+" ); fwrite( $res , "r" ); fclose( $res );
结果2.txt 成了:
r铩铩铩铩铩铩铩铩铩铩铩铩铩铩铩铩铩铩铩铩铩铩铩铩铩铩铩铩铩?
请问这是怎么回事?怎么改正?
认证高级PHP讲师
因为这个五角星号一个字符占用不止一个字节,你写了 r 覆盖了第一个字节,导致之后的字符都被破坏了,因为正好第一个字符余下字节和第二字符的第一个字节正好可以拼成一个有效的编码。你如果想要截断文件的话,应该写完后ftruncate。
是想追加内容?
http://php.net/manual/en/func...fopen打开方式选择a的时候为追加写入。
不用改,没错,只是编辑器错误的识别了文档的编码。。。
因为这个五角星号一个字符占用不止一个字节,你写了 r 覆盖了第一个字节,导致之后的字符都被破坏了,因为正好第一个字符余下字节和第二字符的第一个字节正好可以拼成一个有效的编码。
你如果想要截断文件的话,应该写完后ftruncate。
是想追加内容?
http://php.net/manual/en/func...
fopen打开方式选择a的时候为追加写入。
不用改,没错,只是编辑器错误的识别了文档的编码。。。