QDBMの読み書き
QDBMってKVが面白そうなので読み書きをやってみました。
QDBMのCreate
<?php // test.db ファイルにデータを書き込む処理 // test.qdb ファイルを初期化します。 $result = false; $db = dirname(__FILE__) . '/test.db'; $dbh = dba_open($db, 'c', 'qdbm'); dba_close($dbh); // test.db ファイルへデータを書き込みます。 // w は write の w です。qdbm はKVの種類です。 $dbh = dba_open($db, 'w', 'qdbm'); $data = array( 'key' => 'hoge', 'value' => 'foo', ); // 処理の成否が返るみたいです。 $result = dba_insert($data['key'], $data['value'], $dbh); dba_close($dbh); return $result;
上記コードで、現在のフォルダにtest.qdbといったデータファイルが作成され、
$dataで指定されたキー値と値が書き込まれます。
この場合はとりあえず一つ入れてみました。
QDBMのRead
<?php // test.db の内容を全て読み込み出力する処理 $list = array(); $db = dirname(__FILE__) . '/test.db'; $dbh = dba_open($db, 'r', 'qdbm'); for($i =0, $key = dba_firstkey($dbh); $key != NULL; $i++) { $list[] = array($key => dba_fetch($key, $dbh)); $key = dba_nextkey($dbh); } dba_close($dbh); echo '<pre>'.var_export($list, true).'</pre>';
HTMLに出力するとして、preではさみました。