Руководство по РНР 3.0

7fbce50e

LDAP поиск



Пример 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"]." записей возвращено<p>";

Когда вы выполняете поиск, и слишком много данных возвращается (много записей) вы получите предупреждение, и ldap_get_entries() выдаст сбой. Рассматриваемый здесь прием должен выключить это предупреждение, потом проверить полученную запись.

$normerr = error_reporting ();
error_reporting (0);  // выключает предупреждение!
$sr = ldap_search ($ds, $dn, $searchfor);
$normerr = error_reporting ($normerr);
if (!$sr) {
    print "слишком много записей!";
} else .....
      

Вы можете попробовать сузить эту область, добавив особый фильтр,  т.е. (cn=a*), но было бы лучше иметь возможность захватить результаты в битах (т.е. 1-100, 101-200...).

Содержание раздела