如何创建或附加文本到文件
您正在尝试创建或附加到名为“logs.txt”的文本文件每次用户登录或退出您的网站时。但是,您当前的代码在附加数据或创建不存在的文件时遇到问题。
您的原始代码使用“wr”模式打开文件,该模式会打开文件进行写入并截断文件文件长度为零。要附加数据,您应该使用“a”模式,该模式打开文件进行写入并附加到文件末尾。
此外,如果多个用户尝试访问,您的代码很容易出现竞争条件同时文件。为了防止这种情况,您可以将 LOCK_EX 标志与 FILE_APPEND 结合使用。这将获得文件的独占锁,确保一次只有一个进程可以写入该文件。
这是解决这些问题的代码的改进版本:
<code class="php">$txt = "user id date"; $myfile = file_put_contents('logs.txt', $txt.PHP_EOL, FILE_APPEND | LOCK_EX);</code>
此代码将以附加模式创建或打开“logs.txt”文件,确保新数据附加到文件末尾。它还在写入时获取文件的排他锁,防止多个用户同时写入文件。
以上是如何在 PHP 中安全地将文本附加到文件?的详细内容。更多信息请关注PHP中文网其他相关文章!