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