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