|
użytkowników online: 22
|
OPINIE UŻYTKOWNIKÓW
|
Przyznam, że jestem pod sporym wrażeniem. Od wielu lat zajmuje się grafiką przeznaczoną do druku ze szczególnym uwzględnieniem opakowań. Z radością stwierdzam, iż twórca serwisu jest moim ulubionym typem potencjalnego współpracownika (choć branża troszeczkę inna) tzn. pada pytanie i błyskawicznie pada konkretna odpowiedź bez względu na stopień skomplikowania pytania. Gorąco polecam współpracę, gdyż macie pewność że nie zostaniecie potraktowani sloganami typu "oczywiście", "nie ma sprawy" tylko otrzymacie konkretną pomoc. Tak trzymać! Na pewno jeszcze nie raz skorzystam
Paweł
Studio Gama
|
|
PODRĘCZNIK PHP 5.x, 4.x, 3.x - częściowo spolszczony / źródło: www.php.net
[Spis]
[A]
[B]
[C]
[D]
[E]
[F]
[G]
[H]
[I]
[J]
[K]
[L]
[M]
[N]
[O]
[P]
[Q]
[R]
[S]
[T]
[U]
[V]
[X]
[W]
[Z]
XXII. DBM Functions [deprecated]
These functions allow you to store records stored in a dbm-style
database. This type of database (supported by the Berkeley DB,
GDBM, and some system libraries,
as well as a built-in flatfile library) stores key/value pairs
(as opposed to the full-blown records supported by relational
databases).
To use this functions you have to compile PHP with support for an
underlying database. See the
list of supported Databases.
In order to use these functions, you must compile PHP with dbm support
by using the --with-db option. In
addition you must ensure support
for an underlying database or you can use some system libraries.
To rozszerzenie nie definiuje posiada żadnych
dyrektyw konfiguracyjnych w pliku php.ini.
The function dbmopen() returns an database identifier
which is used by the other dbm-functions.
To rozszerzenie nie posiada żadnych stałych.
Przykład 1. DBM example |
<?php
$dbm = dbmopen("lastseen", "w");
if (dbmexists($dbm, $userid)) {
$last_seen = dbmfetch($dbm, $userid);
} else {
dbminsert($dbm, $userid, time());
}
do_stuff();
dbmreplace($dbm, $userid, time());
dbmclose($dbm);
?>
|
|
- Spis treści
- dblist --
Describes the DBM-compatible library being used
- dbmclose -- Closes a dbm database
- dbmdelete --
Deletes the value for a key from a DBM database
- dbmexists --
Tells if a value exists for a key in a DBM database
- dbmfetch --
Fetches a value for a key from a DBM database
- dbmfirstkey --
Retrieves the first key from a DBM database
- dbminsert --
Inserts a value for a key in a DBM database
- dbmnextkey --
Retrieves the next key from a DBM database
- dbmopen -- Opens a DBM database
- dbmreplace --
Replaces the value for a key in a DBM database
User Contributed Notesforipepe at yahoo dot com
28-Feb-2002 07:16
First:
Make a firstdbm.db file.
Set attribute Read and Write.
--------------------------------------
<html><body>
<?
$dbm = dbmopen("firstdbm","w");
echo "<b>\$dbm: $dbm = dbmopen(\"firstdbm\", \"w\");</b>< br>";
echo "<i>".dblist()." = dblist();</i>< br>< br>";
$fruit = "apple";
$colour = "red";
if (dbmexists ($dbm, $fruit)) {
$colour = dbmfetch ($dbm, $fruit);
echo "\$colour: $colour = dbmfetch(\$dbm: $dbm, \$fruit: $fruit);< br>";
$key = dbmreplace($dbm, $fruit, "green");
echo "\$key: $key = dbmreplace(\$dbm: $dbm, \$fruit: $fruit, \"green\");< br>";
$colour = dbmfetch ($dbm, $fruit);
echo "\$colour: $colour = dbmfetch(\$dbm: $dbm, \$fruit: $fruit);< br>";
if ( !dbmdelete($dbm, $fruit) ) {
echo "False (OK) = dbmdelete(\$dbm: $dbm, \$fruit: $fruit);< br>";
} else {
echo "True (NOT OK) = dbmdelete(\$dbm: $dbm, \$fruit: $fruit);< br>";
}
$colour = dbmfetch ($dbm, $fruit);
echo "\$color: $colour = dbmfetch(\$dbm: $dbm, \$fruit: $fruit);< br><hr>";
$i = 1;
$key = dbmfirstkey($dbm);
while ($key) {
if ($i==1) {
echo "\$key: $key = dbmfirstkey(\$dbm: $dbm);< br>";
} else {
echo "\$key: $key = dbmnextkey(\$dbm: $dbm);< br>";
}
$i++;
$colour = dbmfetch ($dbm, $key);
echo "\$colour: $colour = dbmfetch(\$dbm: $dbm, \$key: $key);< br>";
$key = dbmnextkey($dbm,$key);
}
} else {
dbminsert ($dbm, $fruit, $colour);
echo "dbminsert(\$dbm: $dbm, \$fruit: $fruit, \$colour: $colour);< br>";
dbminsert ($dbm, "pear", "yellow");
echo "dbminsert(\$dbm: $dbm, \"pear\", \"yellow\");< br>";
dbminsert ($dbm, "apricot", "pink");
echo "dbminsert(\$dbm: $dbm, \"apricot\", \"pink\");< br><hr>";
$i = 1;
$key = dbmfirstkey($dbm);
while ($key) {
if ($i==1) {
echo "\$key: $key = dbmfirstkey(\$dbm: $dbm);< br>";
} else {
echo "\$key: $key = dbmnextkey(\$dbm: $dbm);< br>";
}
$i++;
$colour = dbmfetch ($dbm, $key);
echo "\$colour: $colour = dbmfetch(\$dbm: $dbm, \$key: $key);< br>";
$key = dbmnextkey($dbm,$key);
}
}
echo "< br>";
if (dbmclose ($dbm)) {
echo "<b>True (OK) = dbmclose(\$dbm: $dbm);</b>< br>";
} else {
echo "<b>False (NOT OK) = dbmclose(\$dbm: $dbm);</b>< br>";
};
?>
</body></html>
--------------------------------------
The first run output:
$dbm: 1 = dbmopen("firstdbm", "w");
ndbm support enabled = dblist();
dbminsert($dbm: 1, $fruit: apple, $colour: red);
dbminsert($dbm: 1, "pear", "yellow");
dbminsert($dbm: 1, "apricot", "pink");
$key: pear = dbmfirstkey($dbm: 1);
$colour: yellow = dbmfetch($dbm: 1, $key: pear);
$key: apricot = dbmnextkey($dbm: 1);
$colour: pink = dbmfetch($dbm: 1, $key: apricot);
$key: apple = dbmnextkey($dbm: 1);
$colour: red = dbmfetch($dbm: 1, $key: apple);
True (OK) = dbmclose($dbm: 1);
--------------------------------------
The second run output:
$dbm: 1 = dbmopen("firstdbm", "w");
ndbm support enabled = dblist();
$colour: red = dbmfetch($dbm: 1, $fruit: apple);
$key: 0 = dbmreplace($dbm: 1, $fruit: apple, "green");
$colour: green = dbmfetch($dbm: 1, $fruit: apple);
False (OK) = dbmdelete($dbm: 1, $fruit: apple);
$color: = dbmfetch($dbm: 1, $fruit: apple);
$key: pear = dbmfirstkey($dbm: 1);
$colour: yellow = dbmfetch($dbm: 1, $key: pear);
$key: apricot = dbmnextkey($dbm: 1);
$colour: pink = dbmfetch($dbm: 1, $key: apricot);
True (OK) = dbmclose($dbm: 1);
jb at abzone dot cz
05-Oct-2001 07:27
mouse at bloodletting dot com
07-Jul-2001 03:23
Be advised that almost every function in this section either has no documentation or incorrectly documented regarding return codes. If you want to use the DB methods safely you will have to reverse engineer the return codes and hope that they do not change values returned by the functions in the future to match the incorrect documentation.
In my experience, the return code of 0 or FALSE indicates no error. This matches the behavior of GDBM which I am using as my underlying DB manager. This may not be true for people using another manager, or the builtin flatfile code.
|