Consultation
La plupart des fonctions se comprendront aisément (surtout si on connait l'API Php-Mysql). Pour connaitre précisément le
type de tableau créé par ldap_get_entries voir l'annexe
/* /ldap/recherche.php
*********************/
<?
echo "Connexion au serveur "
/* 1ère étape : essai de connexion à un serveur ldap
* le paramètre doit être l'adresse IP du serveur LDAP, ici localhost
*/
$ds=ldap_connect("127.0.0.1");
// on teste : le serveur LDAP est-il trouvé ?
if ($ds)
echo "Le résultat de connexion est ".$ds;
else
die("connexion impossible au serveur LDAP");
/* 2ème étape : on effectue une liaison au serveur, ici de type "anonymous"
* pour une recherche permise par un accès en lecture seule
*
echo "Liaison ...";
$r=ldap_bind($ds);
// en cas de succès de la liaison, renvoie $r=1
if ($r)
echo "Le résultat de connexion est $r";
else
die("liaison impossible au serveur ldap ...");
/* 3ème étape : on effectue une recherche anonyme, avec le dn de base,
* par exemple, sur tous les noms commençant par T
*/
echo "Recherche suivant le filtre (sn=T*)";
$dn="dc=fctice,dc=fr";
$filtre = "sn=T*";
$sr=ldap_search($ds, $dn, $filtre);
echo "Le résultat de la recherche est $sr";
echo "Le nombre d'entrées retournées est ".ldap_count_entries($ds,$sr)."."<p>";
echo "Lecture de ces entrées ...."<p>";
$info = ldap_get_entries($ds, $sr);
echo "Données pour ".$info["count"]." entrées:<p>";
for ($i=0; $i < $info["count"]; $i++) {
echo "dn est : ". $info[$i]["dn"] ."<br>";
echo "premiere entree cn : ". $info[$i]["cn"][0] ."<br>";
echo "premier email : ". $info[$i]["mail"][0] ."<p>";
}
/* 4ème étape : cloture de la session
*/
echo "Fermeture de la connexion";
ldap_close($ds);
?>
Exemple d'ajout
<?php
// on suppose que le serveur LDAP se trouve sur le serveur local
$ds=ldap_connect("localhost");
if ($ds)
echo "Le résultat de connexion est ".$ds."<p>";
else
die("connexion impossible au serveur LDAP");
// Liaison avec un dn authentifié autorisant les modifications
$dn = "cn=admin, dc=fctice, dc=fr";
$r=ldap_bind($ds, $dn, "admin");
// construction d'un tableau contenant les données à ajouter
$info["cn"]="Jean Dupont";
$info["sn"]="Dupont";
$info["email"]="jean.dupont@wanadoo.fr";
$info["objectclass"]="person";
// Ajout des données au dossier
$r=ldap_add($ds, "cn=Jean Dupont, dc=fctice, dc=fr", $info);
ldap_close($ds);
?>