PHP
downloads | documentation | faq | getting help | mailing lists | reporting bugs | php.net sites | links | conferences | my php.net

search for in the

ldap_list> <ldap_get_values_len
Last updated: Fri, 22 Aug 2008

view this page in

ldap_get_values

(PHP 4, PHP 5)

ldap_get_valuesObtiene todos los valores de una entrada de un resultado

Descripción

array ldap_get_values ( resource $identificador_de_conexion , resource $identificador_de_entrada_de_resultado , string $atributo )

Devuelve un array de valores del atributo o FALSE en caso de error.

La función ldap_get_values() se emplea para obtener todos los valores de un atributo de una entrada de un resultado. La entrada del resultado es especificada por el parámetro identificador_de_entrada_de_resultado . El número de valores se puede obtener haciendo una llamada a la función count() sobre el array devuelto. Los valores individuales se almacenan en el array con índices enteros. El primer índice es 0.

Esta función necesita un identificador_de_entrada_de_resultado , por lo que previamente se deben realizar llamadas a las funciones de búsqueda LDAP y una llamada a la función que obtiene una entrada particular del resultado.

La aplicación debe ser o bien programada específicamente para buscar ciertos atributos (como apellidos o email) o bien utilizar la función ldap_get_attributes() para averiguar que atributos existen para una entrada dada, antes de llamar a ldap_get_values().

LDAP permite mas de un valor para cada atributo, por lo que se puede, por ejemplo, almacenar varias direcciones de email para una persona en el directorio y nombrar a ese atributo como "mail".

valor_devuelto["count"] = numero de valores del atributo
valor_devuelto[0] = primer valor del atributo
valor_devuelto[i] = iesimo valor del atributo

Example #1 Listar todos los valores del atributo "mail" de una entrada de un directorio

<?php
// $ds es un identificador de conexion al directorio

// $sr es un resultado de busqueda valido de una llamada
// anterior a una de las funciones de b&usqueda en directorios
// LDAP.

// $entrada es un identificador de entrada valido de una llamada
// anterior a una de las funciones que devuelven una entrada de
// directorio

$valores ldap_get_values($ds$entrada,"mail");

echo 
$valores["count"]." direcciones de email para esta entrada.<br />";

for (
$i=0$i &lt$valores["count"]; $i++) {
    echo 
$valores[$i]."<br />";
}
?>



add a note add a note User Contributed Notes
ldap_get_values
viper_sb at IGETTOMUCHSPAMhotmail dot com
25-Mar-2003 06:24
Well this took me a while to find the problem, so I'm posting in case someone else runs in to this.

$sr = ldap_search($ds, "cn=me", "(objectclass=*)");
$entry = ldap_first_entry($ds, $sr);
do {
  // do other stuff
  $sr = "something else now";
  $values = ldap_get_values($ds, $entry, "attirib1");
  // do other stuff
} while ($entry = ldap_next_entry($ds, $entry));

If you change the search resource $sr to something else even though it's not used again it will kill the page it'll be a blank page and if you view the code you'll get different things depending on something no idea what.

This kepted happening I had forgotten I had used $sr so I was using it again and it would just not show the page whenever I used ldap_get_values, if this is a feature it would be nice to know. I haven't seen it happen with other functions.
software at inebria dot com
21-Jun-2001 10:34
It wasn't immediately obvious to me that the ldap_get_values function does not work with binary data - only strings.  If you fetch binary data with ldap_get_values you don't get a warning - just some trash.  For binary data you have to use ldap_get_values_len.

ldap_list> <ldap_get_values_len
Last updated: Fri, 22 Aug 2008
 
 
show source | credits | stats | sitemap | contact | advertising | mirror sites