SommaireTelecharger la documentationChapitre suivantChapitre precedent  

  .: News :.: Edito :.: Scripts :.: Forum :.: Erreurs :.: Jobs :. 
 
Sommaire

LDAP

Introduction à LDAP
Exemple complet
ldap_add
ldap_bind
ldap_close
ldap_compare
ldap_connect
ldap_count_entries
ldap_delete
ldap_dn2ufn
ldap_err2str
ldap_errno
ldap_error
ldap_explode_dn
ldap_first_attribute
ldap_first_entry
ldap_free_result
ldap_get_attributes
ldap_get_dn
ldap_get_entries
ldap_get_option
ldap_get_values
ldap_get_values_len
ldap_list
ldap_modify
ldap_mod_add
ldap_mod_del
ldap_mod_replace
ldap_next_attribute
ldap_next_entry
ldap_read
ldap_rename
ldap_search
ldap_set_option
ldap_unbind

6.47.33 ldap_search

[ Exemples avec ldap_search ]   PHP 3, PHP 4 >= 4.0.0

Description

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>";
?>


Chapitre précédentChapitre suivantAccueil nexen.net