array ldap_get_entries(resource connection, resource result)
Функция ldap_get_entries возвращает трехмерный массив, содержащий записи результирующего набора. Ассоциативный элемент count возвращает количество записей, содержащихся в массиве. Записи нумеруются с нуля. Каждая запись имеет элементы count и dn. Ссылку на атрибуты записи можно производить по ее имени или номеру. Каждый атрибут имеет свой собственный элемент count и пронумерованный набор значений.
boolean ldap_get_option(resource connection, integer option, reference value)
Функция ldap_get_option предназначена для задания аргументу value значения параметра, определенного аргументом option. Используйте значения параметров из табл. 17.6. Для изменения значения параметра можно использовать функцию ldap_set_option.
Базы данных
Базы данных
array ldap_get_values(resource connection, resource entry, string attribute)
Функция ldap_get_values (листинг 17.6) возвращает массив всех значений для заданного атрибута. Значения обрабатываются как строки. Функция ldap_get_ values_len используется при получении двоичных данных.

Листинг 17.6. Функция ldap_get_values

<?php
// подключиться к серверу LDAP if(!($ldap=ldap_connect("localhost")))
{
die("Невозможно подключиться к серверу LDAP!");
}
//задать критерий поиска
$dn = "cn=Barry Bat,dc=leonatkinson,dc=com";
$filter = "sn=*";
$attributes = array("mail"); //выполнить поиск
if(!($result = ldap_read($ldap, $dn, $filter, $attributes)))
{
die(" Ничего не найдено!");
}
$entry = ldap_first_entry($ldap, $result); $values = ldap_get_values($ldap, $entry, "mail"); print($values["count"] . " Values:<ol>n"); for($index=0; $index < $values["count"]; $index++)
{
print("<li>{$values[$index]}</li>n");
}
print("</ol>n"); ldap_free_result($result); 
integer ldap_get_values_len(resource connection, resourceentry, string attribute)
Эта функция аналогична функции ldap_get_values за исключением того, что она работает с двоичными значениями.
integer ldap_list(resource connection, string dn, string filter, array attributes, boolean attributes_only, integer size_limit, integer time_limit, integer dereference)
Функция ldap_list (листинг 17.7) возвращает все объекты уровня для заданного DN. Аргумент attributes является необязательным. Если он задан, то это позволяет ограничить результаты объектами, содержащими заданные атрибуты. Необязательный аргумент attributes_only приводит к тому, что функция ldap_list возвращает только атрибуты. Необязательные аргументы size_limit и time_limit соответственно ограничивают количество возвращаемых записей или время в секундах, необходимое для выборки результатов. Необязательный аргумент dereference управляет разрешением ссылок. В этом аргументе задаются константы, приведенные в табл. 17.7.
Базы данных
$filter = "objectClass=*";
$attributes = array("ou", "cn"); // выполнить поиск
if(!($result = ldap_list($ldap, $dn, $filter, $attributes)))
{
die(" Ничего не найдено!");
}
$entries = ldap_get_entries($ldap, $result); for($index = 0; $index < $entries["count"]; $index++)
{
if(isset($entries[$index]["ou"]))
{
print("<a href="$self?dn=" .
$entries[$index]["dn"]."">");
print($entries[$index]["ou"][0]);
print("</a>");
}
Else
{
print($entries[$index]["cn"][0]);
}
print("<br>n");
}
ldap_free_result($result); // закрыть соединение ldap_close($ldap);
?>

boolean ldap_mod_add(resource connection, string dn, array entry)
Функция ldap_mod_add добавляет атрибуты DN на уровне атрибутов. Сравните ее с функцией ldap_add, которая добавляет атрибуты на объектном уровне.
boolean ldap_mod_del(resource connection, string dn, array entry)
Функция ldap_mod_del удаляет атрибуты DN на уровне атрибутов. Сравните ее с функцией ldap_delete, которая удаляет атрибуты на объектном уровне.