ldap_read

(PHP 4, PHP 5, PHP 7, PHP 8)

ldap_read — Читає запис

Опис

ldap_read(    LDAP\Connection|array $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 $controls = null): LDAP\Result|array|false

Виконує пошук для вказаного filter у директорії в рамках LDAP_SCOPE_BASE. Еквівалентно читання запису з директорії.

Можна також виконувати паралельний пошук. У цьому випадку першим аргументом має бути масив екземплярів LDAP\Connection, а чи не один екземпляр. Якщо пошук не повинен використовувати один і той же базовий DN і фільтр, як аргументи можна передати масив базових DN і/або масив фільтрів. Кількість елементів у масивах має збігатися з кількістю екземплярів LDAP\Connectionоскільки перші записи масивів використовуються для одного пошуку, другі — для іншого і так далі. При паралельному пошуку повертається масив екземплярів LDAP\Result, за исключением возникновения ошибки, когда возвращается значение**false**

Список параметрів

ldap

Екземпляр LDAP\Connection, що повертається функцією ldap_connect()

base

Базове DN для каталогу.

filter

Порожній фільтр не допустимо. Якщо потрібно отримати абсолютно всю інформацію для цього запису, використовуйте фільтр objectClass=*. Якщо відомо, які типи запису використовуються на сервері каталогів, то можна використовувати відповідний фільтр, такий як objectClass=inetOrgPerson

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для отправки в запросе.

Значення, що повертаються

Повертає екземпляр LDAP\Result, масив екземплярів LDAP\Resultили**false**в случае возникновения ошибки.

список змін

ВерсияОпис
8.1.0Параметрldap тепер чекає екземпляр LDAP\Connection; раніше очікувався ресурс (resourceldap link
8.1.0Повертає екземпляр LDAP\Result; раніше повертався ресурс (resource
8.0.0controls тепер припускає значення null; раніше значення за умовчанням було []
4.0.5Було додано підтримку паралельного пошуку. Для більш детальної інформації дивіться ldap_search()
7.3.0Додано підтримку параметра controls