2.5 写文件
在PHP中写文件相对比较简单。可以使用fwrite()(file write,文件写)或者fputs()(file put string),fputs()是fwrite()的别名函数。我们可以使用如下方式调用fwrite():
fwrite($fp,$outputstring);
这个函数告诉PHP将保存在$outputstring中的字符串写入到$fp指向的文件中。
fwrite()函数的一个替换函数是file_put_contents(),其函数原型如下所示:
int file_put_contents(string filename,
string data
[,int flags
[,resource context]])
这个函数可以在不需要调用fopen()(或fclose())函数打开要写的文件以前,将包含在data中的字符串数据写入到filename所指定的文件中。这个函数是PHP 5新引入的,与之匹配的函数是file_get_contents(),稍后我们将介绍这两个函数。当使用FTP或HTTP向远程文件写入数据时,最常用的是可选参数flags和context。(我们将在第20章中详细介绍这些函数)。
2.5.1 fwrite()的参数
实际上,函数fwrite()具有3个参数,但是第3个参数是可选的。fwrite()的原型如下所示:
int fwrite(resource handle,string string[,int length])
第3个参数length是写入的最大字符数。如果给出了这个参数,fwrite()将向handle指向的文件写入字符串,一直写到字符串的末尾,或者已经写入了length字节,满足这两个条件之一就停止写入。
可以通过PHP的内置strlen()函数获得字符串的长度,如下所示:
fwrite($fp,$outputstring,strlen($outputstring));
当使用二进制模式执行写操作的时候,你可能会希望使用第3个参数,因为它可以帮助你避免一些跨平台的兼容性问题。