ldap_list

(PHP 4, PHP 5, PHP 7)

ldap_listEinstufige Suche

ldap_list ( resource $link_identifier , string $base_dn , string $filter [, array $attributes = array("*") [, int $attrsonly = 0 [, int $sizelimit = -1 [, int $timelimit = -1 [, int $deref = LDAP_DEREF_NEVER [, array $serverctrls = array() ]]]]]] ) : resource

Führt eine Suche für einen angegeben filter im Verzeichnis mit dem Geltungsbereich LDAP_SCOPE_ONELEVEL durch.

LDAP_SCOPE_ONELEVEL bedeutet, dass die Suche nur Informationen liefert, die direkt unterhalb der Stufe liegen, die durch die Angabe des base_dn im Auruf bestimmt wird. (Das entspricht der Eingabe von "ls", die eine Liste von Dateien und Verzeichnissen des aktuellen Arbeitsverzeichnisses anzeigt.)

Parameter-Liste

link_identifier

Eine LDAP-Verbindungkennung, geliefert von ldap_connect().

base_dn

Der Basis-DN für das Verzeichnis.

filter

attributes

Ein Array von erforderlichen Merkmalen, z.B. array("mail", "sn", "cn"). Es ist zu beachten, dass der "dn" immer zurückgegeben wird, unabhängig davon, welche Merkmalstypen angefordert wurden.

Die Verwendung dieses Parameters ist effizienter als die Standardaktion (die alle Merkmale und deren assoziierte Werte zurückgibt). Die Verwendung dieses Parameter sollte daher als gute Praxis eingestuft werden.

attrsonly

Sollte auf 1 gesetzt werden, wenn nur Merkmalstypen erwünscht sind. Wird 0 übergeben, werden sowohl Merkmalstypen als auch Merkmalswerte abgerufen, was das Standardverhalten ist.

sizelimit

Ermöglich die Begrenzung der Anzahl der abgerufenen Einträge. Wird hier 0 übergeben, besteht keine Begrenzung.

Hinweis:

Dieser Parameter kann ein serverseitig voreingestelltes sizelimit nicht übersteuern. Es kann allerdings kleiner gewählt werden.

Verzeichnisserver können so konfiguriert werden, dass sie nicht mehr als eine voreingestellte Anzahl von Einträgen liefern. Wenn dies geschieht, dann wird der Server anzeigen, dass nur eine teilweise Ergebnismenge zurückgeliefert wurde. Das geschieht ebenfalls, wenn dieser Parameter verwendet wird, um die Zahl der abgerufenen Einträge zu begrenzen.

timelimit

Setzt die Anzahl von Sekunden, die auf die Suche verwendet wird. Die Übergabe von 0 bedeutet keine Begrenzung.

Hinweis:

Dieser Parameter kann ein serverseitig voreingestelltes timelimit nicht übersteuern. Es kann allerdings kleiner gewählt werden.

deref

Gibt an, wie Aliase während der Suche behandelt werden sollen. Es kann einen der folgenden Werte annehmen:

  • LDAP_DEREF_NEVER - (standard) Aliase werden nie dereferenziert.
  • LDAP_DEREF_SEARCHING - Aliase sollen während der Suche dereferenziert werden, aber nicht wenn das Basis-Objekt der Suche lokalisiert wird.
  • LDAP_DEREF_FINDING - Aliase sollen für die Lokalisierung des Basis-Objekt dereferenziert werden, aber nicht während der Suche.
  • LDAP_DEREF_ALWAYS - Aliase sollen immer dereferenziert werden.

serverctrls

Array von LDAP-Steuerbefehlen, die mit der Anfrage versendet werden sollen.

Rückgabewerte

Gibt eine Suchergebniskennung zurück, oder FALSE im Fehlerfall.

Changelog

Version Beschreibung
7.3 Unterstützung für serverctrls hinzugefügt.
4.0.5 Unterstützung für parallele Suchen wurde hinzugefügt. Siehe ldap_search() für Details.

Beispiele

Beispiel #1 Erzeuge einer Liste aller Organisationseinheiten einer Organisation

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

$basis_dn = "o=Meine Firma, c=DE";
$nur_dieses = array("ou");

$sr=ldap_list($ds, $basis_dn, "ou=*", $nur_dieses);

$info = ldap_get_entries($ds, $sr);

for ($i=0; $i<$info["count"]; $i++)
    echo $info[$i]["ou"][0] ;

Siehe auch