84669인 학습
152542인 학습
20005인 학습
5487인 학습
7821인 학습
359900인 학습
3350인 학습
180660인 학습
48569인 학습
18603인 학습
40936인 학습
1549인 학습
1183인 학습
32909인 학습
我用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的时候为追加写入。
不用改,没错,只是编辑器错误的识别了文档的编码。。。