1

可能重复:
PHP 中的文件资源持久性

如果fopen用于打开文件,即使没有fclose.

$fp = fopen('data.txt', 'w');
fwrite($fp, 'text');
fclose($fp);

现在如果它是一个经常使用的脚本,我们需要用文件系统打开/关闭文件太多次(文件 I/O)。最好保持文件打开。这是数据库系统使用的技术。

PHP中是否有一个函数可以让文件保持打开状态并且在下次运行时不重新打开它?

或者我们如何设置一个半服务器来保持打开文件以供 PHP 频繁访问?

4

3 回答 3

1

不——你不能。您可以在脚本/脚本的开头打开文件并在最后关闭它。您可以随心所欲地在开盘和收盘之间进行操作。例如,您可以在站点的页眉中打开文件,然后在页脚处关闭它。

要解决您需要的任务,您可能需要查看一个名为memcahced. 它将一些信息存储在机器的RAM中,以便您以后可以重复使用它们。您还可以添加每条信息的到期时间。

在这里看看这个模块:http ://www.php.net/manual/en/book.memcached.php

于 2012-10-15T10:32:02.097 回答
1

您可以使用flock(). 自 PHP 5.3.2 以来,该文件一直处于锁定状态,直到显式解锁,因此您需要确保您运行代码的服务器上的 PHP 版本高于或至少 5.3.2

于 2012-10-15T10:30:14.977 回答
0

无法在同一脚本的连续执行之间保持文件打开(幸运的是:)

打开文件不是很密集,我怀疑不值得设置一个保持文件打开的“半服务器”。

你为什么需要那个?

于 2012-10-15T10:30:52.083 回答