Bonjour,
avec le LDAP je souhaite récupérer un liste de "people" qui commence par UP = * , mais je
ne sais pas comment m'y prendre ,

voici mon bout de script
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
 
public function typeMemberOf(){
		echo "<h1>prof LDAP</h1>";
		$arbre= "OU=LYON,OU=Etudiants,OU=People,DC=x,DC=x";
		$results = ldap_search($this->LDAP_anonym, $arbre, "memberof=*");
		$member_list = ldap_get_entries($this->LDAP_anonym, $results);
		//var_dump($member_list);
	}
 
	public function decompMemberOf($memberOf){
		for($i=0; $i<10;$i++){
			if(isset($memberOf[0]['memberof'][$i]))
			{
			echo "<tr style='background:orange'>";
			echo "<td>index people: $i :</td>";
			echo "<td>type people:</td><td>".$memberOf[0]['memberof'][$i]."</td>";
			echo "</tr>";
			}
		}
	}
 
	public function findMembre($nom,$type) //E = etudiant, P=enseignant
	{
 
			echo "<h1>recherche l'enseignant ".$nom."</h1>";
			$arbre= "OU=LYON,".$this->type_prof.",OU=People,DC=x,DC=x";
 
 
		$filtre ="sn=".$nom."";
		$results = ldap_search($this->LDAP_anonym, $arbre, $filtre);
		$member_list = ldap_get_entries($this->LDAP_anonym, $results);
		if($member_list['count'] > 0){
			echo "<h1>fiche complete de ".$nom."</h1>"; 
			echo "<table style='border:1px solid green'>";
			echo "<tr>";
			echo "<td>login :</td><td>".$member_list[0]['cn'][0]."</td>";
			echo "</tr>";
			echo "<tr>";
			echo "<td>firstname (nom famillle):</td><td>".$member_list[0]['sn'][0]."</td>";
			echo "</tr>";
			echo "<tr>";
			echo "<td>lastname (prenom):</td><td>".$member_list[0]['givenname'][0]."</td>";
			echo "</tr>";
			echo "<tr>";
			echo "<td>campus:</td><td>".$member_list[0]['l'][0]."</td>";
			echo "</tr>";
			echo "<tr>";
			echo "<td>description:</td><td>".$member_list[0]['description'][0]."</td>";
			echo "</tr>";
			$this->decompMemberOF($member_list);
			echo "</table>";
		}
		else{
			echo "ce membre n'existe pas dans le LDAP";
		}
	}
//.......
 
$ldap = new LDAP
$ldap -> findMembre('totot','etudiant');
voici le résultat d'un membre trouvé

en décomposant people il y en a 8

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
 
index people: 0 :	type people:	CN=GS_tous_D,OU=Groupes_SECURITE_DYNAMIQUE,
index people: 1 :	type people:	CN=GD_valideurs.carambole,OU=Groupes_DIFFUSION_DYNAMIQUE
index people: 2 :	type people:	CN=GD_mc-electionsca2013.veto,OU=Groupes_DIFFUSION_DYNAMIQU
index people: 3 :	type people:	CN=GD_departement.pa,OU=Groupes_DIFFUSION_DYNAMIQUE
index people: 4 :	type people:	CN=GS_Gegaz,OU=LYON,OU=Groupes_SECURITE_STATIQUE
index people: 5 :	type people:	CN=UP-GESTION-ELEVAGE,OU=Groupes_SECURITE_DYNAMIQUE
index people: 6 :	type people:	CN=GD_responsables.listes,OU=Groupes_DIFFUSION_DYNAMIQUE
index people: 7 :	type people:	CN=GD_responsables.dept,OU=Groupes_DIFFUSION_DYNAMIQUE
index people: 8 :	type people:	CN=GD_medpopvisites,OU=Groupes_DIFFUSION_DYNAMIQUE
index people: 9 :	type people:	CN=GD_medpop,OU=Groupes_DIFFUSION_DYNAMIQUE
ce qu'il m'intéresse c'est l'index 5

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
index people: 5 :	type people:	CN=UP-GESTION-ELEVAGE,OU=Groupes_SECURITE_DYNAMIQUE
c'est une longue chaîne de caractère,
mais j'aimerais lister des différents CN=UP * qu'il existe dans ce LDAP, il y en a une 50 ,
je pourrais tous les prendre et faire un array_unique mais il y a a beaucoup trop 2000.
en mettant un
comment faut 'il filtrer correctement cela ?

je vous remercie d'avance pour la réponse