
文件级别的操作
|
235
头。本质上,我们想要清空文件中的当前内容并用全新的文本替换。为此目的,我们使用
fwrite()
函数 :
//
独占锁
if (flock($file_handle, LOCK_EX)) {
if (fwrite($file_handle, $question1) == FALSE){
echo "Cannot write to file ($filename)";
}
//
释放锁
flock($file_handle, LOCK_UN);
}
我们要确保这些信息确实被保存到了指定文件,因此用几个条件语句来包裹我们的文件
写操作,以确保一切顺利。首先,尝试获取所涉及的文件的独占锁(使用
ock()
函数)
—
这保证当操作它时,没有其他进程访问这个文件。这只是一个预防措施,因为对于在第
一个网页表单中输入的电子邮箱地址来说文件管理是唯一的,并且每个调查都有它自己
的目录位置,因此使用碰撞应该不会发生,除非两个人恰巧使用相同的电子邮箱地址。
如你所见,文件写函数使用
$le_handle
将变量
$question1
中的内容添加到文件中。然
后在完成时,我们简单地关闭文件,并继续填写调查的下一页面,如图
9-3
所示。
图9-3:调查页面二
正如你在示例
9-7
中看到的,处理这个文件(
question2.txt
)的代码除了文件名不同外和
前一个完全相同。