dba_open

(PHP 4, PHP 5)

dba_openOuvre une base de donn�es DBA

Description

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

dba_open() �tablit une connexion � la base rep�r�e par path avec le mode mode et l'identifiant handler .

Liste de param�tres

path

Chemin sur votre syst�me de fichiers.

mode

Il vaut r pour lecture seule, w pour lecture/�criture, c pour lecture/�criture, et cr�ation si la base n'existe pas, et n pour cr�ation, �crasement et acc�s en lecture/�criture.

De plus, vous pouvez choisir la m�thode de verrouillage de la base avec le caract�re suivant. Utilisez l pour verrouiller la base avec un fichier .lck, ou d pour verrouiller la base elle-m�me. Il est important que vos application utilisent ces options de mani�re coh�rente.

Si vous voulez tester la possibilit� d'acc�s, et ne pas attendre la disponibilit� du verrou, vous pouvez ajouter la lettre t comme troisi�me caract�re. Lorsque vous �tes absolument certain que votre base ne requiert pas de verrou, vous pouvez utiliser le tiret - � la place de l ou d. Lorsque vous n'utilisez ni d, ni l ni -, dba va verrouiller en mode d.

Note: Il ne peut y avoir qu'un seul type d'�criture dans la base. Lorsque vous utilisez dba sur un serveur web, et que plusieurs requ�tes HTTP effectuent des �critures, elles ne peuvent �tre faites que l'une apr�s l'autre. De m�me, la lecture durant l'�criture n'est pas possible. L'extension dba utilise un verrou pour �viter ces probl�mes. Voici la table de verrouillage :

Verrouillage DBA
d�j� ouverte mode = "rl" mode = "rlt" mode = "wl" mode = "wlt" mode = "rd" mode = "rdt" mode = "wd" mode = "wdt"
non-ouverte ok ok ok ok ok ok ok ok
mode = "rl" ok ok attente FALSE ill�gal ill�gal ill�gal ill�gal
mode = "wl" attente FALSE attente FALSE ill�gal ill�gal ill�gal ill�gal
mode = "rd" ill�gal ill�gal ill�gal ill�gal ok ok attente FALSE
mode = "wd" ill�gal ill�gal ill�gal ill�gal attente FALSE attente FALSE

  • ok: Le second appel r�ussit.
  • wait: Le second appel attend que dba_close() soit appel� par le premier script.
  • FALSE: Le second appel retourne FALSE.
  • ill�gal: vous ne devez pas m�langer les options "l" et "d" pour le param�tre mode .


handler

Le nom du gestionnaire qui doit �tre utilis� pour acc�der � path . C'est pass� � tous les param�tres facultatifs donn�s � dba_open() et peut agir au nom d'eux.

Valeurs de retour

Retourne un gestionnaire positif en cas de succ�s, ou FALSE si une erreur survient.

Historique

Version Description
4.3.0 il est possible d'ouvrir la base de donn�es � travers le r�seau. Toutefois, dans le cas o� des connexions sockets seront utilis�es (via HTTP ou FTP), la connexion sera verrouill�e, et non pas la ressource. C'est important de le savoir pour comprendre que dans ce cas, le verrouillage sera ignor�, et d'autres solutions doivent �tre trouv�es.
4.3.0 Le param�tre de verrouillage mode et les options "l", "d", "-" et "t" ont �t� ajout�es. Dans les versions de PHP ant�rieures � la PHP 4.3.0, vous deviez utiliser des s�maphores pour �viter les acc�s concurrents � la base de donn�es, hormis pour celles de type GDBM. Voyez le chapitre sur les s�maphores System V.
avant 4.3.5 le mode "c" est inop�rant pour de nombreux gestionnaires internes, et tronque la base au lieu d'ajouter les donn�es � la base existante. De plus, dbm et ndbm �choue en mode "c" dans des configurations typiques (impossible � corriger).

Voir aussi

  • dba_popen() - Ouvre une connexion persistante � une base de donn�es DBA
  • dba_close() - Ferme une base DBA