PHP Doku:: Liefert alle Werte eines Ergebnis-Eintrags - function.ldap-get-values.html

Verlauf / Chronik / History: (1) anzeigen

Sie sind hier:
Doku-StartseitePHP-HandbuchFunktionsreferenzSonstige DiensteLightweight Directory Access ProtocolLDAP Funktionenldap_get_values

Ein Service von Reinhard Neidl - Webprogrammierung.

LDAP Funktionen

<<ldap_get_values_len

ldap_list>>

ldap_get_values

(PHP 4, PHP 5)

ldap_get_values Liefert alle Werte eines Ergebnis-Eintrags

Beschreibung

array ldap_get_values ( resource $Verbindungs-Kennung , resource $Ergebnis-Eintrag-Kennung , string $merkmal )

Rückgabewert: im Erfolgsfall ein Array der Werte des Merkmals, FALSE im Fehlerfall.

Die ldap_get_values() Funktion wird benutzt um alle Werte des Merkmals eines Eintrags im Ergebnis zu lesen. Der Eintrag wird durch Ergebnis-Eintrag-Kennung bestimmt. Die Anzahl der Werte kann über die Indexierung von "count" des resultierenden Arrays bestimmt werden. Der Zugriff auf einzelne Werte erfolgt durch einen ganzzahligen Index im Array. Der erste Indexwert ist 0.

Da diese Funktion eine Ergebnis-Eintrag-Kennung benötigt, muss ein Aufruf einer der LDAP Suchfunktionen und einer der Funktionen, die einen einzelnen Eintrag liefern, vorausgehen.

Ihre Anwendung wird entweder hart codiert sein, um bestimmte Merkmale (wie z.B.: "Nachname" oder "Mail") zu suchen, oder Sie müssen die Funktion ldap_get_attributes() benutzen, um herauszufinden, welche Merkmale für einen gegebenen Eintrag vorhanden sind.

LDAP erlaubt mehr als einen Eintrag für ein Merkmal, so dass es z.B. sein kann, dass der Verzeichnis-Eintrag einer Person mehrere Email-Adressen enthält, die alle mit dem Merkmal "mail" bezeichnet sind.

return_value["count"] = Anzahl der Werte eines Merkmals
return_value[0]       = der erste Wert des Merkmals
return_value[i]       = der i-te Wert des Merkmals

Beispiel #1 Liste aller Werte des Merkmals "mail" für einen Verzeichnis- Eintrag

// $ds gültige Verbindungs-Kennung für einen Verzeichnis-Server

// $sr gültiges Suchergebnis eines früheren Aufrufs einer der ldap
//     Verzeichnis Suchfunktionen

// $entry gültige Eintrag-Kennung eines früheren Aufrufs einer
//        der Funktionen, die einen Verzeichnis-Eintrag zurückgeben

$values = ldap_get_values($ds, $entry,"mail");

echo $values["count"]." Email-Adressen für diesen Eintrag.<p>";

for ($i=0; $i < $values["count"]; $i++)
    echo $values[$i]."<br>";


2 BenutzerBeiträge:
- Beiträge aktualisieren...
viper_sb at IGETTOMUCHSPAMhotmail dot com
25.03.2003 15:24
Well this took me a while to find the problem, so I'm posting in case someone else runs in to this.

$sr = ldap_search($ds, "cn=me", "(objectclass=*)");
$entry = ldap_first_entry($ds, $sr);
do {
  // do other stuff
  $sr = "something else now";
  $values = ldap_get_values($ds, $entry, "attirib1");
  // do other stuff
} while ($entry = ldap_next_entry($ds, $entry));

If you change the search resource $sr to something else even though it's not used again it will kill the page it'll be a blank page and if you view the code you'll get different things depending on something no idea what.

This kepted happening I had forgotten I had used $sr so I was using it again and it would just not show the page whenever I used ldap_get_values, if this is a feature it would be nice to know. I haven't seen it happen with other functions.
software at inebria dot com
21.06.2001 19:34
It wasn't immediately obvious to me that the ldap_get_values function does not work with binary data - only strings.  If you fetch binary data with ldap_get_values you don't get a warning - just some trash.  For binary data you have to use ldap_get_values_len.



PHP Powered Diese Seite bei php.net
The PHP manual text and comments are covered by the Creative Commons Attribution 3.0 License © the PHP Documentation Group - Impressum - mail("TO:Reinhard Neidl",...)