Rapide Advanced Adulte
 
 Web|Image|Shop|Video|News|Wmx|Mobile|Wiki|Ajouter ce moteur

     Manuel PHP     
Partager
 
 
Partager
Partager

 

Table :

.ldap 8859 to t61
.ldap add
.ldap bind
.ldap close
.ldap unbind()
.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 first reference
.ldap free result
.ldap get attributes
.ldap get dn
.ldap get entries
.ldap get option
.ldap get values len
.ldap get values
.ldap list
.ldap mod add
.ldap mod del
.ldap mod replace
.ldap modify
.ldap next attribute
.ldap next entry
.ldap next reference
.ldap parse reference
.ldap parse result
.ldap read
.ldap rename
.ldap sasl bind
.ldap search
.ldap set option
.ldap set rebind proc
.ldap sort
.ldap start tls
.ldap t61 to 8859
.ldap unbind
 
   

  ldap_search  


ldap_search

(PHP 3, PHP 4, PHP 5)

ldap_search -- Recherche sur le serveur LDAP

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, ou bien FALSE en cas d'erreur.

ldap_search() effectue une recherche avec le filtre filter dans le dossier base_dn avec le paramétrage LDAP_SCOPE_SUBTREE. C'est l'équivalent d'une recherche dans le dossier. base_dn spécifie le DN de base du dossier.

Il y a un quatrième paramètre optionnel, qui peut être fourni pour restreindre les attributs et valeurs retournées par le serveur, afin de les adapter à vos besoins. C'est bien plus efficace que le comportement par défaut (qui retourne tous les attributs et leurs valeurs associées). L'utilisation de ce quatrième paramètre est donc vivement recommandée.

Le quatrième paramètre est un tableau de chaînes PHP avec les attributs demandés, par exemple : array("mail","sn","cn"). Notez que le "dn" est toujours retourné, indépendamment des attributs demandés.

Notez aussi que certains serveurs de dossiers sont configurés pour retourner un nombre limité d'entrées. Si cette situation survient, le serveur indiquera qu'il a renvoyé un résultat partiel. C'est aussi le cas si le sixième paramètre sizelimit a été utilisé pour limiter le nombre d'entrées retournées.

Le cinquième paramètre attrsonly doit être mis à 1 si seuls les types d'attributs sont désirés. Si ce paramètre est mis à 0, les types d'attributs et leurs valeurs seront retournées : c'est le comportement par défaut.

Avec le sixième paramètre sizelimit, il est possible de limiter le nombre d'entrées lues dans le résultat. En utilisant 0, on indique qu'il n'y a pas de limite. NOTE : ce paramètre NE peut PAS remplacer la configuration du serveur. Vous pouvez au mieux baisser encore cette limite.

Le septième paramètre timelimit permet de spécifier le nombre de secondes de durée de la recherche. En utilisant la valeur 0, la recherche pourra durer indéfiniment. NOTE : ce paramètre NE peut PAS remplacer la configuration du serveur. Vous pouvez au mieux baisser encore cette limite.

Le huitième paramètre deref spécifie comment les alias doivent être gérés durant la recherche. Ce paramètre peut prendre l'une des valeurs suivantes :

  • LDAP_DEREF_NEVER - (par défaut) les alias ne sont jamais "déréférencés".

  • LDAP_DEREF_SEARCHING - les alias sont "déréférencés" durant la recherche, mais pas durant la localisation du dossier de recherche.

  • LDAP_DEREF_FINDING - les alias sont "déréférencés" durant la localisation du dossier de recherche, mais pas durant la recherche.

  • LDAP_DEREF_ALWAYS - les alias sont toujours "déréférencés".

Note : Ces paramètres optionnels ont été ajoutés en 4.0.2 : attrsonly, sizelimit, timelimit et deref.

Le filtre de recherche peut être simple ou avancé, et utiliser ces opérateurs booléen au format décrit dans la documentation LDAP (reportez-vous à Netscape Directory SDK pour plus d'informations sur les filtres).

L'exemple ci-dessous lit le nom du service, le nom, le prénom et l'email des employés de la société "Ma Compagnie", dont le nom ou le prénom contient la sous-chaîne : $person. Cet exemple illustre l'utilisation de filtres pour indiquer au serveur de faire une recherche sur deux attributs.

Exemple 1. Recherche LDAP

<?php
// $ds doit être une ressource de connexion valide

// $person est un nom ou une partie de nom (par exemple, "Jean")

$dn = "o=Ma Compagnie, 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);

echo
$info["count"]." entrées trouvées.\n";
?>

Depuis PHP 4.0.5, il est possible de faire des recherches parallèles. Pour cela, vous devez utiliser un tableau de ressources de connexion comme premier argument, au lieu d'une ressource simple. Si vous ne voulez pas utiliser le même dossier de base DN et le même filtre pour toutes les recherches, vous pouvez aussi utiliser un tableau de DN et de filtres. Ces tableaux doivent alors être de la même taille que le tableau de ressources de connexion : la première entrée du tableau de ressources sera utilisée avec le premier DN et le premier filtre, etc. Lorsque vous faites une recherche parallèle, un tableau de résultats est retourné, sauf en cas d'erreur, auquel cas l'entrée contiendra FALSE. C'est très proche du comportement habituel, hormis le fait qu'un résultat est toujours retourné lorsqu'une recherche est faite. Il y a de rares cas où une recherche renvoie FALSE, alors qu'une autre en parallèle retourne un identifiant.


    Annonces       
 

 Retour au chapitre Php

 

Top
 

Ajouter JungleKey.fr à votre Explorateur

 
 

About Us | © 2007 JungleKey




iBlack | Mobile | Wiki | Ajouter ce moteur
.