写文件
在你读完这些之后,你可能意识到读文件并不完全是脑力劳动。因此让我们开始一些稍微困难的事情:写文件。
将数据写入到文件的步骤和读取文件所需的步骤几乎是一致的:打开文件并得到文件句柄,然后使用文件句柄将数据写入文件,最后关闭文件。这里有两个差异:首先,你必须以写入的模式打开文件(‘w’代表写);其次,使用fwrite()函数写入文件句柄,而不是用fread()函数从文件句柄读取。请看下面的代码:
<?php // set file to write $file = '/tmp/dump.txt'; // open file $fh = fopen($file, 'w') or die('Could not open file!'); // write to file fwrite($fh, "Look, Ma, I wrote a file! ") or die('Could not write to file'); // close file fclose($fh); ?>
当你运行该脚本时,该脚本应该在目录/tmp下创建一个名字为dump.txt的文件,然后在其中写入一行文本,在其末尾加上回车。请注意,双引号需要被转换为回车。
fopen()、fwrite()和fread()函数是二进制安全的,也就是说你可以在二进制文件上使用这些函数而不用担心对文件内容的损害。
阅读更多关于不同平台下的二进制安全的文件操作方面的问题,请访问下列网址:http://www.php.net/manual/en/function.fopen.php
如果因为向你展示用于文件读取的一行快捷函数而宠坏了你的话,那么让我通过向你介绍file_put_contents()函数而进一步宠坏你吧,该函数是PHP5.0中的新特征,它接受一个字符串然后用一行代码将其写入到文件中。
<?php // set file to write $filename = '/tmp/dump.txt'; // write to file file_put_contents($filename, "Look, Ma, I wrote a file! ") or die('Could not write to file'); ?>
请记住,你试图创建文件的所在的目录必须在你对其写入文件之前存在。忘记这个重要的步骤是脚本错误常见的原因。