php有没有判断文件是否打开的函数

如题目,若是有时需要在文件中增加内容,怎么保证写的东西不会被另一个人也打开在里面写?

我想的是写操作开始之前随便生成一个东西,操作完成之后,再把这东西给删除啦;

阅读 3.4k
1 个回答

文件锁

<?php

$fp = fopen("/tmp/lock.txt", "r+");

if (flock($fp, LOCK_EX)) {  // 进行排它型锁定
    ftruncate($fp, 0);      // truncate file
    fwrite($fp, "Write something here\n");
    fflush($fp);            // flush output before releasing the lock
    flock($fp, LOCK_UN);    // 释放锁定
} else {
    echo "Couldn't get the lock!";
}

fclose($fp);

?>

From : http://php.net/manual/zh/func...

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题