当打开一个已经存在的文件(通常是追加写入模式下),有必要检测该文件是否具有写入权限,从而避免一个系统错误的发生。使用 is_writable 函数检测文件是否可写。
下面是追加写入模式下一个比较严格检查的例子:
<?php $filename = 'file.txt'; $word = "你好!n"; // 确定文件存在并且可写 if (is_writable($filename)) { //打开文件 if (!$fh = fopen($filename, 'a')) { echo "不能打开文件 $filename"; exit; } // 写入内容 if (fwrite($fh, $word) === FALSE) { echo "不能写入到文件 $filename"; exit; } echo "成功地将 $word 写入到文件 $filename"; fclose($fh); } else { echo "文件 $filename 不可写"; } ?>PHP fwrite 函数只是执行向文件写入字符串的动作,实际它的行为结果取决于 fopen 函数更多一些。如果想一次性将字符串写入或追加至文件,file_put_contents 函数可能是更优的选择。