ldap_control_paged_result
(PHP 5 >= 5.4.0, PHP 7)
ldap_control_paged_result — Послать серверу LDAP данные для использования постраничного извлечения результата
Функция была объявлена УСТАРЕВШЕЙ в PHP 7.4.0
и УДАЛЕНА в PHP 8.0.0.
Вместо нее следует использовать параметр controls
в
ldap_search().
Смотрите также Управляющие объекты LDAP для получения дополнительной информации.
Описание
$link
, int $pagesize
, bool $iscritical
= false
, string $cookie
= ""
) : boolРазрешает работу с LDAP в постраничном режиме, путем отправки желаемых настроек (размер страницы, куки и т.д.)
Список параметров
-
link
-
Идентификатор соединения LDAP, возвращенный ldap_connect().
-
pagesize
-
Количество записей на страницу.
-
iscritical
-
Определяет, является ли постраничный режим критичным или нет. Если
true
и если сервер не поддерживает постраничную работу, поиск вернет пустой результат. -
cookie
-
Непрозрачная структура, посылаемая сервером (ldap_control_paged_result_response()).
Возвращаемые значения
Возвращает true
в случае успешного завершения или false
в случае возникновения ошибки.
Список изменений
Версия | Описание |
---|---|
7.4.0 | Функция объявлена устаревшей. |
Примеры
Пример ниже демонстрирует извлечение первой страницы результата поиска с использованием размера страницы равного одной записи.
Пример #1 Постраничная работа с LDAP
<?php
// $ds - идентификатор соединения (см. ldap_connect)
ldap_set_option($ds, LDAP_OPT_PROTOCOL_VERSION, 3);
$dn = 'ou=example,dc=org';
$filter = '(|(sn=Doe*)(givenname=John*))';
$justthese = array('ou', 'sn', 'givenname', 'mail');
// разрешаем постраничную работу с размером страницы равному одной записи.
ldap_control_paged_result($ds, 1);
$sr = ldap_search($ds, $dn, $filter, $justthese);
$info = ldap_get_entries($ds, $sr);
echo $info['count'] . ' записей возвращено' . PHP_EOL;
Пример ниже демонстрирует извлечение первой страницы результата поиска с использованием размера страницы равного ста записям.
Пример #2 Постраничная работа с LDAP
<?php
// $ds - идентификатор соединения (см. ldap_connect)
ldap_set_option($ds, LDAP_OPT_PROTOCOL_VERSION, 3);
$dn = 'ou=example,dc=org';
$filter = '(|(sn=Doe*)(givenname=John*))';
$justthese = array('ou', 'sn', 'givenname', 'mail');
// разрешаем постраничную работу с размером страницы равному ста записям.
$pageSize = 100;
$cookie = '';
do {
ldap_control_paged_result($ds, $pageSize, true, $cookie);
$result = ldap_search($ds, $dn, $filter, $justthese);
$entries = ldap_get_entries($ds, $result);
foreach ($entries as $e) {
echo $e['dn'] . PHP_EOL;
}
ldap_control_paged_result_response($ds, $result, $cookie);
} while($cookie !== null && $cookie != '');
Примечания
Замечание:
Постраничный режим появился в версии протокола LDAPv3.
Смотрите также
- ldap_control_paged_result_response() - Получить указатель на текущую страницу результирующего набора LDAP
- » RFC2696 : Управляющее расширение LDAP для простых манипуляций постранично возвращаемым результатом