Основы PHP
  Что такое PHP?
  Возможности PHP
  Преимущества PHP
  История развития
  Что нового в PHP5?
  «Движок» PHP
  Переход на PHP 5.3
New Переход на PHP 5.6
  Введение в PHP
  Изучение PHP
  Основы CGI
  Синтаксис PHP
  Типы данных PHP
  Переменные в PHP
  Константы PHP
  Выражения PHP
  Операторы PHP
  Конструкции PHP
  Ссылки в PHP
  PHP и ООП
  Безопасность
  Функции PHP
  Функции по категориям
  Функции по алфавиту
  Стандартные функции
  Пользовательские
  PHP и HTTP
  Работа с формами
  PHP и Upload
  PHP и Cookies
  PHP и базы данных
  PHP и MySQL
  Документация MySQL
  Учебники
  Учебники по PHP
  Учебники по MySQL
  Другие учебники
  Уроки PHP
  Введение
  Самые основы
  Управление
  Функции
  Документация
  Математика
  Файлы
  Основы SQL
  Дата и время
  CURL
  Изображения
  Стили
  Безопасность
  Установка
  Проектирование БД
  Регулярные выражения
  Подготовка к работе
  Быстрый старт
  Установка PHP
  Установка MySQL
  Конфигурация PHP
  Download / Скачать
  Скачать Apache
  Скачать PHP
  Скачать PECL
  Скачать PEAR
  Скачать MySQL
  Редакторы PHP
  Полезные утилиты
  Документация
  PHP скрипты
  Скачать скрипты
  Инструменты
  PHP в примерах
  Новости портала
 Главная   »  Функции PHP
 
 
Функции PHP »»» Функции LDAP

ldap_search

(PHP 3, PHP 4, PHP 5)

ldap_search - ищет дерево LDAP.

Описание

resource ldap_search (resource link_identifier, string base_dn, string filter [, array attributes [, int attrsonly [, int sizelimit [, int timelimit [, int deref]]]]])

Возвращает идентификатор результата поиска, FALSE при ошибке.

ldap_search() выполняет поиск специфицированного фильтра в директории с областью видимости LDAP_SCOPE_SUBTREE. Это эквивалентно поиску по всей директории.
base_dn специфицирует базовый DN для директории.

Имеется необязательный четвёртый параметр, который можно добавлять для ограничения атрибутов и значений, возвращаемых сервером, только теми, которые необходимы. Это более эффективно, чем акция по умолчанию (которая возвращает все атрибуты и их ассоциированные значения). Использование четвёртого параметра поэтому следует приветствовать.

Четвёртый параметр является стандартным строковым PHP-массивом из требуемых атрибутов, например, array("mail","sn","cn"). Заметьте, что "dn" возвращается всегда, вне зависимости от того, атрибуты каких типов запрошены.

Отметьте, также, что некоторые хосты серверов директорий будут конфигурированы таким образом, чтобы возвращать не более предустановленного количества вхождений. Если это так, сервер укажет, что он возвращает только частичный результирующий набор. Это проявится также в том случае, если шестой параметр sizelimit использован для ограничения подсчёта извлечённых вхождений.

Пятый параметр attrsonly должен иметь значение 1, если нужны только типы атрибутов. Если установлен в 0, и типы, и значения атрибутов извлекаются - это поведение по умолчанию.

С помощью шестого параметра sizelimit возможно ограничить подсчёт извлечённых вхождений. Значение 0 означает - нет ограничений. ПРИМЕЧАНИЕ: этот параметр НЕ может переопределить серверную установку sizelimit. Но вы можете установить его ниже.

Седьмой параметр timelimit устанавливает количество секунд, отводимых для поиска. Установка 0 означает отсутствие ограничения. ПРИМЕЧАНИЕ: этот параметр НЕ может переопределить серверную установку timelimit. Но вы можете установить его ниже.

Восьмой параметр deref специфицирует, как псевдонимы должны обрабатываться при поиске. Может иметь одно из следующих значений:

  • LDAP_DEREF_NEVER - (по умолчанию) псевдонимы никогда не разыменовываются.

  • LDAP_DEREF_SEARCHING - псевдонимы должны разыменовываться в процессе поиска, но не разыменовываются при локализации базового объекта поиска.

  • LDAP_DEREF_FINDING - псевдонимы должны разыменовываться при локализации базового объекта, но не в процессе поиска.

  • LDAP_DEREF_ALWAYS - псевдонимы должны разыменовываться всегда.

Примечание: следующие необязательные параметры были введены в 4.0.2: attrsonly, sizelimit, timelimit, deref.

Фильтр поиска может быть простым или продвинутым, с использованием булевых операций в формате, описанном в документации LDAP (см. в Netscape Directory SDK полную информацию о фильтрах).

В примере запрашиваются подразделение организации, фамилия, имя и email-адрес всех работников компании "My Company", где фамилия или имя содержит подстроку $person. В этом примере используется булев фильтр для сообщения серверу о поиске информации в более чем одном атрибуте.

Пример 1. LDAP-поиск

// $ds это правильный идентификатор ссылки для сервера директорий

// $person это полное или частичное имя работника, например, "Jo"

$dn = "o=My Company, c=US";
$filter="(|(sn=$person*)(givenname=$person*))";
$justthese = array( "ou", "sn", "givenname", "mail");

$sr=ldap_search($ds, $dn, $filter, $justthese);

$info = ldap_get_entries($ds, $sr);

print $info["count"]." entries returned<p>";

Начиная с 4.0.5, можно проводить также параллельные поиски. Для этого используйте массив идентификаторов ссылок, а не просто одиночный идентификатор, в качестве первого аргумента. Если вам не нужен одно и то же базовое DN и тот же фильтр для всех поисков, вы можете также использовать массив базовых DNs и/или массив фильтров. Эти массивы обязаны быть того же размера, что и массив идентификаторов ссылок, поскольку первые вхождения массивов используются для первого поиска, вторые вхождения - для второго, и так далее. При выполнении параллельных поисков возвращается массив идентификаторов результатов поисков, если только не было ошибки - тогда вхождение, соответствующее поиску, будет FALSE. Это очень напоминает нормально возвращённое значение, но идентификатор результата всегда возвращается, если поиск был выполнен. В редких случаях нормальный поиск возвращает FALSE, в то врем как параллельный поиск возвращает идентификатор.

 
 
 Функции по алфавиту 
   Содержание   
 Функции по категориям 

Есть еще вопросы или что-то непонятно - добро пожаловать на наш  форум портала PHP.SU 
 

 
Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS