PHP
数据库 | Database

dba_open

dba_open

(PHP 4, PHP 5, PHP 7)

dba_open - 打开数据库

描述

resource dba_open ( string $path , string $mode [, string $handler [, mixed $... ]] )

dba_open()建立了一个数据库实例pathmode使用handler

参数

path

通常是文件系统中的常规路径。

mode

它是- [R读访问,w ^为读/写访问到一个已经存在的数据库,ç读/写访问和数据库的建立,如果当前不存在,并ñ用于创建,截断和读/写访问。数据库在BTree模式下创建,其他模式(如哈希或队列)不受支持。

另外,您可以使用下一个字符设置数据库锁定方法。使用l以.lck文件或d锁定数据库以锁定数据库文件本身。所有应用程序始终如此执行这一点非常重要。

如果你想测试访问,并且不希望等待你可以添加锁牛逼的第三个字符。当你确信你不需要数据库锁定时,你可以通过使用-而不是ld来完成。当没有使用dl- 时dba将像d那样锁定数据库文件。

Note: There can only be one writer for one database file. When you use dba on a web server and more than one request requires write operations they can only be done one after another. Also read during write is not allowed. The dba extension uses locks to prevent this. See the following table: DBA locking already open mode = "rl" mode = "rlt" mode = "wl" mode = "wlt" mode = "rd" mode = "rdt" mode = "wd" mode = "wdt" not open ok ok ok ok ok ok ok ok mode = "rl" ok ok wait false illegal illegal illegal illegal mode = "wl" wait false wait false illegal illegal illegal illegal mode = "rd" illegal illegal illegal illegal ok ok wait false mode =“wd”非法非法非法等待虚假等待虚假

  • 好的:第二个调用会成功。

  • 等待:第二次调用等待,直到第一次调用dba_close()。

  • false:第二次调用返回false。

  • 非法:您不能混用“l”“d”修饰符作为mode参数。

handler

应该用于访问的处理程序的名称path。它传递给dba_open()的所有可选参数,并可以代表它们行事。

返回值

返回成功或FALSE失败时的肯定句柄。

更新日志

描述
4.3.0可以通过网络连接打开数据库文件。但是在使用套接字连接的情况下(如http或ftp),连接将被锁定而不是资源本身。这一点很重要,因为在这种情况下,锁定在资源上被忽略,并且必须找到其他解决方案。