gpt4 book ai didi

php 文件在运行时重命名 - 是否可以锁定?

转载 作者:搜寻专家 更新时间:2023-10-31 20:48:38 25 4
gpt4 key购买 nike

我需要在运行时对 php 文件进行更改。
这是一个配置文件,在紧急情况下需要更改其设置之一。
我的问题是是否可以在写入之前锁定文件,以便其他尝试访问该文件的 session 将推迟到文件被重写,而不是使 session 崩溃并说找不到文件?

最佳答案

是的,请参阅 flock 的手册条目功能

手册中的示例:

<?php

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

if (flock($fp, LOCK_EX)) { // acquire an exclusive lock
ftruncate($fp, 0); // truncate file
fwrite($fp, "Write something here\n");
fflush($fp); // flush output before releasing the lock
flock($fp, LOCK_UN); // release the lock
} else {
echo "Couldn't get the lock!";
}

fclose($fp);

?>

显然有一些注意事项,例如,如果您使用的是过时的文件系统 (FAT),flock() 将始终返回 false。如果您将 PHP 用作 ISAPI 扩展,则 flock 将不会锁定文件以防止其他在并行线程中运行的 PHP 脚本修改/读取。

关于php 文件在运行时重命名 - 是否可以锁定?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10487103/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com