ldap_list

(PHP 4, PHP 5, PHP 7, PHP 8)

ldap_listSuche in einer Ebene

Beschreibung

ldap_list(
    LDAP\Connection|array $ldap,
    array|string $base,
    array|string $filter,
    array $attributes = [],
    int $attributes_only = 0,
    int $sizelimit = -1,
    int $timelimit = -1,
    int $deref = LDAP_DEREF_NEVER,
    ?array $controls = null
): LDAP\Result|array|false

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 innerhalb der Ebene liegen, die durch die Angabe des Parameters base im Aufruf bestimmt wird. Das entspricht der Eingabe von "ls", die eine Liste von Dateien und Verzeichnissen des aktuellen Arbeitsverzeichnisses anzeigt.

Es ist auch möglich, parallele Suchen durchzuführen. In diesem Fall muss der erste Parameter ein Array von LDAP\Connection-Instanzen sein, anstatt einer einzelnen. Wenn die Suchen nicht alle den gleichen Basis-DN und Filter verwenden sollen, kann stattdessen ein Array von Basis-DNs und/oder ein Array von Filtern als Parameter übergeben werden. Diese Arrays müssen die gleiche Größe haben wie das Array von LDAP\Connection-Instanzen, da die ersten Einträge der Arrays für eine Suche verwendet werden, die zweiten Einträge für eine andere und so weiter. Bei parallelen Suchen wird ein Array von LDAP\Result-Instanzen zurückgegeben, außer im Fall eines Fehlers, dann ist der Rückgabewert false.

Parameter-Liste

ldap

Eine LDAP\ConnectionInstanz, die von ldap_connect() zurückgegeben wurde.

base

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 Parameters sollte daher als gute Praxis eingestuft werden.

attributes_only

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öglicht die Begrenzung der Anzahl der abgerufenen Einträge. Wird hier 0 übergeben, besteht keine Begrenzung.

Hinweis:

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

Verzeichnis-Server können so konfiguriert werden, dass sie nicht mehr als eine voreingestellte Anzahl von Einträgen zurückgeben. Wenn dies der Fall ist, dann zeigt der Server an, dass nur eine teilweise Ergebnismenge zurückgegeben 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 überschreiben. 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-Objekts dereferenziert werden, aber nicht während der Suche.
  • LDAP_DEREF_ALWAYS - Aliase sollen immer dereferenziert werden.

controls

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

Rückgabewerte

Gibt eine LDAP\Result-Instanz oder ein Array von LDAP\Result-Instanzen zurück. Bei einem Fehler wird false zurückgegeben.

Changelog

Version Beschreibung
8.1.0 Der Parameter ldap erwartet nun eine LDAP\Connection-Instanz; vorher wurde eine Ressource erwartet.
8.1.0 Gibt nun eine LDAP\Result-Instanz zurück; vorher wurde eine Ressource zurückgegeben.
8.0.0 controls ist jetzt nullable (akzeptiert den null-Wert); vorher war der Standardwert [].
7.3.0 Die Unterstützung für controls wurde hinzugefügt.

Beispiele

Beispiel #1 Erzeuge einer Liste aller Organisationseinheiten einer Organisation

<?php
// $ds ist eine gültige LDAP\Connection-Instanz 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

Hier Kannst Du einen Kommentar verfassen


Bitte gib mindestens 10 Zeichen ein.
Wird geladen... Bitte warte.
* Pflichtangabe
Es sind noch keine Kommentare vorhanden.

Was genau bedeutet "Vibe Coding"? Ein tiefgehender Blick für Entwickler

In der Welt der Softwareentwicklung gibt es unzählige Wege, wie man an ein Projekt herangeht. Manche schwören auf strikte Planung, andere auf bewährte Algorithmen und wieder andere lassen sich von etwas ganz anderem leiten: ihrem Gefühl. ...

admin

Autor : admin
Kategorie: Software & Web-Development

PHP cURL-Tutorial: Verwendung von cURL zum Durchführen von HTTP-Anfragen

cURL ist eine leistungsstarke PHP-Erweiterung, die es Ihnen ermöglicht, mit verschiedenen Servern über verschiedene Protokolle wie HTTP, HTTPS, FTP und mehr zu kommunizieren. ...

TheMax

Autor : TheMax
Kategorie: PHP-Tutorials

Midjourney Tutorial - Anleitung für Anfänger

Über Midjourney, dem Tool zur Erstellung digitaler Bilder mithilfe von künstlicher Intelligenz, gibt es ein informatives Video mit dem Titel "Midjourney Tutorial auf Deutsch - Anleitung für Anfänger" ...

Mike94

Autor : Mike94
Kategorie: KI Tutorials

Tutorial veröffentlichen

Tutorial veröffentlichen

Teile Dein Wissen mit anderen Entwicklern weltweit

Du bist Profi in deinem Bereich und möchtest dein Wissen teilen, dann melde dich jetzt an und teile es mit unserer PHP-Community

mehr erfahren

Tutorial veröffentlichen

Helfen! Doppelte Bestelleinträge in meiner Verkaufstabelle

I am struggling to start learning about code. I have a background in economics Bendomenech68, ich betreibe Online-Handel seit 2010, und selbst da ...

Geschrieben von MannesHaar am 03.04.2025 16:21:46
Forum: SQL / Datenbanken
Bilder in Bildern platzieren

Ja, und damit wäre deine Frage korrekt beantwortet. Und wenn du mal einen Blick in die Doku werfen würdest, wüsstest du das auch. Siehe https:/ ...

Geschrieben von emilyjohnson637 am 03.04.2025 13:26:35
Forum: PHP Developer Forum
Abfrage in Datenbank

Primärschlüssel und Fremdschlüssel: Stelle sicher, dass du in der Tabelle "hofmanagement" eine Spalte für den Fremdschlüssel hast escape roa ...

Geschrieben von nancy266 am 03.04.2025 13:14:40
Forum: SQL / Datenbanken
Berechnungen durchführen

Um sicherzustellen, dass nur Dezimalzahlen mit bis zu 3 Nachkommastellen eingegeben werden, kannst du serverseitige Validierung in der berechnung. ...

Geschrieben von jennikim266 am 03.04.2025 12:13:24
Forum: PHP Developer Forum