summaryrefslogtreecommitdiff
path: root/ext/spl/examples/dba_array.php
blob: 7930348f7c4e80a00f463ec3dce5b284fd3a4a20 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
<?php

/** @file   dba_array.php
 * @brief   Program DBA array utility
 * @ingroup Examples
 * @author  Marcus Boerger
 * @date    2003 - 2005
 *
 * Usage php dba_array.php \<file\> \<handler\> \<key\> [\<value\>]
 *
 * If \<value\> is specified then \<key\> is set to \<value\> in \<file\>.
 * Else the value of \<key\> is printed only.
 *
 * Note: configure with --enable-dba
 */

if ($argc < 4) {
	echo <<<EOF
Usage: php ${_SERVER['PHP_SELF']} <file> <handler> <key> [<value>]

If <value> is specified then <key> is set to <value> in <file>.
Else the value of <key> is printed only.


EOF;
	exit(1);
}

if (!class_exists("DbaReader", false)) require_once("dbareader.inc");

try {
	if ($argc > 2) {
		$dba = new DbaArray($argv[1], $argv[2]);
		if ($dba && $argc > 3) {
			if ($argc > 4) {
				$dba[$argv[3]] = $argv[4];
			}
			var_dump(array('Index' => $argv[3], 'Value' => $dba[$argv[3]]));
		}
		unset($dba);
	}
	else
	{
		echo "Not enough parameters\n";
		exit(1);
	}
}
catch (exception $err) {
	var_dump($err);
	exit(1);
}
?>