6.47.33 ldap_search[ Exemples avec ldap_search ] PHP 3, PHP 4 >= 4.0.0Description
resource ldap_search(resource link_identifier ,string base_dn ,string filter ,[array attributes ],[int attrsonly ],[int sizelimit ],[int timelimit ],[int deref ])
ldap_search retourne un identifiant de résultat
en cas de succès, et TRUE sinon.
ldap_search effectue une recherche avec le filtre
filter dans le dossier base_dn,
et avec l'option de récursivité LDAP_SCOPE_SUBTREE. Cela revient
à rechercher dans toute la base sous le dossier
base_dn.
Le quatrième paramètre est optionnel, et peut être
ajouté pour restreindre les attributs et les valeurs retournées.
Il est beaucoup plus efficace que la méthode qui consiste à lire
tous les attributs et leur valeurs associées. L'utilisation
de ce quatrième paramètre est encouragé.
Le quatrième paramètre est un tableau de chaînes, qui
contient les attributs désirés, array("mail","sn","cn"). Notez
que le nd base_dn est toujours retourné,
quelques que soient les attributs demandés.
Notez que certains serveurs sont configurés pour limiter le nombre
de résultats. Si cela arrive, le serveur indiquera qu'il n'a
transféré qu'une partie du résultat. Cela arrivera
aussi si le sixième paramètre sizelimit a été
utilisé pour limiter le nombre de lignes lues.
Le cinquième paramètre attrsonly
doit être mis à 1 si seuls les types d'attributs sont
demandés. S'il est mis à 0, les types des attributs et leur
valeur seront lue (comportement par défaut).
Le sixième paramètre sizelimit permet de
limiter le nombre de lignes lues. 0 indique qu'il n'y a pas
de limite. NOTE : ce paramètre ne peut PAS annuler la configuration
du serveur. Il peut seulement la réduire.
Le septième paramètre timelimit fixe la durée
de la recherche en seconde. 0 indique qu'il n'y a pas
de limite. NOTE : ce paramètre ne peut PAS annuler la configuration
du serveur. Il peut seulement la réduire.
Le huitième paramètre deref indique
le comportement à suivre avec les alias durant une recherche.
Sa valeur peut être l'une de celles-ci :
LDAP_DEREF_NEVER - (par défaut) les alias ne sont pas déréférencés.
LDAP_DEREF_SEARCHING - aliases sont déréférencés durant la recherche
mais pas lors de leur localisation.
LDAP_DEREF_FINDING - aliases sont déréférencés durant leur localisation
mais pas lors de la recherche.
LDAP_DEREF_ALWAYS - les alias sont toujours déréférencés.
Ces paramètres optionnels ont été ajoutés à
partir de la version 4.0.2:
attrsonly,
sizelimit,
timelimit,
deref.
La chaîne de filtre peut être simple ou complexe. Elle utilise
les opérateurs booléens au même format que celui
décrit dans les documentations LDAP (Allez voir celle de
Netscape Directory SDK
pour plus d'informations sur les filtres).
L'exemple suivant récupère toutes les unités
organisationnelles, le nom, prénom et email, dans la
société "Ma Société" où
le nom et prénom contiennent la sous-chaîne
$person. Cet exemple utilise un filtre booléen pour
indiquer au serveur qu'il doit
rechercher des informations dans plusieurs attributs.
Recherche LDAP |
<?php // $ds est un identifiant valide de connexion à un serveur LDAP // $person est tout ou une partir d'un nom $dn = "o=Ma Société, c=Fr"; $filter="(|(sn=$person*)(givenname=$person*))"; $justthese = array( "ou", "sn", "givenname", "mail"); $sr=ldap_search($ds, $dn, $filter, $justthese); $info = ldap_get_entries($ds, $sr); print $info["count"]." Entrées retournées.<p>"; ?>
|
|