若不存在的文件,此函数会创建文件,假定文件被打开为写入(w)或增加(a)。如:$file = fopen("x.txt", "w"),若运行报错,很可能是访问权限问题。
$file = fopen("e.txt", "w") or die("Unable to open file"); $txt = "Bill\n"; fwrite($file, $txt); $txt = "Steve\n"; fwrite($file, $txt); fclose($file);
生成文件内容:
Bill
Steve
如果现在 "e.txt" 包含了一些数据,在写入已有文件时发生的的事情。所有已存在的数据会被擦除并以一个新文件开始。
$file = fopen("e.txt", "w") or die("Unable to open file"); $txt = "Mickey\n"; fwrite($file, $txt); $txt = "Minnie\n"; fwrite($file, $txt); fclose($file);
生成文件内容:
Mickey
Minnie
\n:10换行(newline)
\r:13 回车(return)
在windows系统下,回车换行符号是\r\n,但是在Linux等系统下是没有\r符号的。在解析文本或其他格式的文件内容时,常常要碰到判定回车换行的地方,这个时候就要注意既要判定\r\n又要判定\n。
写程序时可能得到一行,将其进行trim掉\r,这样能得到string了。
函数用于把字符串写入文件,成功返回写入到文件内数据的字节数,失败则返回FALSE。
echo file_put_contents("t.txt", "love");
浏览器输出4,t.txt内容:love。
提示:
如果文件不存在,则创建文件,相当于fopen()函数行为。
如果文件存在,默认将清空文件内的内容,可设置flags参数值为FILE_APPEND以避免(见下)。
本函数可安全用于二进制对象。
file_put_contents("t.txt", "love", FILE_APPEND);
t.txt文件内容变为:lovelove。
flags为FILE_APPEND时,表示在已有文件内容后面追加内容的方式写入新数据。
其行为实际上等于调用fopen(),fwrite()以及fclose()。