ldap_list
(PHP 4, PHP 5, PHP 7)
ldap_list — Одноуровневый поиск
Описание
$ldap
, array|string $base
, array|string $filter
, array $attributes
= []
, int $attributes_only
= 0
, int $sizelimit
= -1
, int $timelimit
= -1
, int $deref
= LDAP_DEREF_NEVER
, array|null $controls
= null
) : resource|array|false
Выполняет поиск для указанного filter
в
директории в рамках LDAP_SCOPE_ONELEVEL
.
LDAP_SCOPE_ONELEVEL
означает, что поиск должен
возвратить только информацию, которая является следующим уровнем ниже
base
, заданного при вызове.
(Эквивалент вводу "ls" и получения списка файлов и папок
в текущем рабочем каталоге.)
Список параметров
-
ldap
-
Идентификатор ссылки LDAP, возвращенный ldap_connect().
-
base
-
Базовое DN для каталога.
-
filter
-
-
attributes
-
Массив необходимых атрибутов, например,
array("mail", "sn", "cn")
. Обратите внимание, что "dn" возвращается всегда, независимо от того, какие типы атрибутов требуются.Использование этого параметра намного более эффективно чем действие по умолчанию (которое должно возвратить все атрибуты и их присвоенные значения). Поэтому использование этого параметра нужно считать хорошей практикой.
-
attributes_only
-
Должен быть равен 1, только если требуются типы атрибута. Если установлено 0, то, по умолчанию, выбираются и типы атрибутов и значения атрибута.
-
sizelimit
-
Позволяет ограничить количество выбранных записей. Установка этого параметра как 0 означает, что ограничение отсутствует.
Замечание:
Этот параметр НЕ может переопределять предустановку sizelimit на стороне сервера. Хотя его можно установить ниже.
Некоторые хосты серверов каталогов будут сконфигурированы так, чтобы возвратить не больше, чем предварительно установленное число записей. Если это произойдет, то сервер укажет, что возвратил только частичный набор результатов. Это также происходит, если Вы используете этот параметр, чтобы ограничить количество выбранных записей.
-
timelimit
-
Устанавливает число секунд, ограничивающее процесс поиска. Установка этого параметра как 0 означает, что ограничение отсутствует.
Замечание:
Этот параметр НЕ может переопределять предустановку timelimit на стороне сервера. Хотя его можно установить ниже.
-
deref
-
Определяет, как псевдонимы должны быть обработаны во время поиска. Может быть одним из следующих:
-
LDAP_DEREF_NEVER
- (по умолчанию) псевдонимы никогда не разыменовываться. -
LDAP_DEREF_SEARCHING
- псевдонимы должны быть разыменованы во время поиска, но не при определении местоположения базового объекта поиска. -
LDAP_DEREF_FINDING
- псевдонимы должны быть разыменованы при определении местоположения базового объекта, но не во время поиска. -
LDAP_DEREF_ALWAYS
- псевдонимы должны всегда разыменовываться всегда.
-
-
controls
-
Массив управляющих констант LDAP для отправки в запросе.
Возвращаемые значения
Возвращает идентификатор результата поиска или false
в случае ошибки.
Список изменений
Версия | Описание |
---|---|
8.0.0 |
controls теперь допускает значение null; ранее значение по умолчанию было [] .
|
7.3 |
Добавлена поддержка параметра controls
|
Примеры
Пример #1 Выводит список всех организационных единиц организации
<?php
// $ds верный идентификатор ссылки на сервер директории
$basedn = "o=My Company, c=US";
$justthese = array("ou");
$sr = ldap_list($ds, $basedn, "ou=*", $justthese);
$info = ldap_get_entries($ds, $sr);
for ($i=0; $i < $info["count"]; $i++) {
echo $info[$i]["ou"][0];
}
?>