<?php
include_once $_SERVER['DOCUMENT_ROOT'] . '/include/shared-manual.inc';
$TOC = array();
$TOC_DEPRECATED = array();
$PARENTS = array();
include_once dirname(__FILE__) ."/toc/ref.ldap.inc";
$setup = array (
  'home' => 
  array (
    0 => 'index.php',
    1 => 'PHP Manual',
  ),
  'head' => 
  array (
    0 => 'UTF-8',
    1 => 'ru',
  ),
  'this' => 
  array (
    0 => 'function.ldap-list.php',
    1 => 'ldap_list',
    2 => 'Выполняет одноуровневый поиск',
  ),
  'up' => 
  array (
    0 => 'ref.ldap.php',
    1 => 'Функции LDAP',
  ),
  'prev' => 
  array (
    0 => 'function.ldap-get-values-len.php',
    1 => 'ldap_get_values_len',
  ),
  'next' => 
  array (
    0 => 'function.ldap-mod-add.php',
    1 => 'ldap_mod_add',
  ),
  'alternatives' => 
  array (
  ),
  'source' => 
  array (
    'lang' => 'ru',
    'path' => 'reference/ldap/functions/ldap-list.xml',
  ),
  'history' => 
  array (
  ),
);
$setup["toc"] = $TOC;
$setup["toc_deprecated"] = $TOC_DEPRECATED;
$setup["parents"] = $PARENTS;
manual_setup($setup);

contributors($setup);

?>
<div id="function.ldap-list" class="refentry">
 <div class="refnamediv">
  <h1 class="refname">ldap_list</h1>
  <p class="verinfo">(PHP 4, PHP 5, PHP 7, PHP 8)</p><p class="refpurpose"><span class="refname">ldap_list</span> &mdash; <span class="dc-title">Выполняет одноуровневый поиск</span></p>

 </div>

 <div class="refsect1 description" id="refsect1-function.ldap-list-description">
  <h3 class="title">Описание</h3>
  <div class="methodsynopsis dc-description">
   <span class="methodname"><strong>ldap_list</strong></span>(<br>&nbsp;&nbsp;&nbsp;&nbsp;<span class="methodparam"><span class="type"><span class="type"><a href="class.ldap-connection.php" class="type LDAP\Connection">LDAP\Connection</a></span>|<span class="type"><a href="language.types.array.php" class="type array">array</a></span></span> <code class="parameter">$ldap</code></span>,<br>&nbsp;&nbsp;&nbsp;&nbsp;<span class="methodparam"><span class="type"><span class="type"><a href="language.types.array.php" class="type array">array</a></span>|<span class="type"><a href="language.types.string.php" class="type string">string</a></span></span> <code class="parameter">$base</code></span>,<br>&nbsp;&nbsp;&nbsp;&nbsp;<span class="methodparam"><span class="type"><span class="type"><a href="language.types.array.php" class="type array">array</a></span>|<span class="type"><a href="language.types.string.php" class="type string">string</a></span></span> <code class="parameter">$filter</code></span>,<br>&nbsp;&nbsp;&nbsp;&nbsp;<span class="methodparam"><span class="type"><a href="language.types.array.php" class="type array">array</a></span> <code class="parameter">$attributes</code><span class="initializer"> = []</span></span>,<br>&nbsp;&nbsp;&nbsp;&nbsp;<span class="methodparam"><span class="type"><a href="language.types.integer.php" class="type int">int</a></span> <code class="parameter">$attributes_only</code><span class="initializer"> = 0</span></span>,<br>&nbsp;&nbsp;&nbsp;&nbsp;<span class="methodparam"><span class="type"><a href="language.types.integer.php" class="type int">int</a></span> <code class="parameter">$sizelimit</code><span class="initializer"> = -1</span></span>,<br>&nbsp;&nbsp;&nbsp;&nbsp;<span class="methodparam"><span class="type"><a href="language.types.integer.php" class="type int">int</a></span> <code class="parameter">$timelimit</code><span class="initializer"> = -1</span></span>,<br>&nbsp;&nbsp;&nbsp;&nbsp;<span class="methodparam"><span class="type"><a href="language.types.integer.php" class="type int">int</a></span> <code class="parameter">$deref</code><span class="initializer"> = <strong><code><a href="ldap.constants.php#constant.ldap-deref-never">LDAP_DEREF_NEVER</a></code></strong></span></span>,<br>&nbsp;&nbsp;&nbsp;&nbsp;<span class="methodparam"><span class="type"><span class="type"><a href="language.types.null.php" class="type null">?</a></span><span class="type"><a href="language.types.array.php" class="type array">array</a></span></span> <code class="parameter">$controls</code><span class="initializer"> = <strong><code><a href="reserved.constants.php#constant.null">null</a></code></strong></span></span><br>): <span class="type"><span class="type"><a href="class.ldap-result.php" class="type LDAP\Result">LDAP\Result</a></span>|<span class="type"><a href="language.types.array.php" class="type array">array</a></span>|<span class="type"><a href="language.types.singleton.php" class="type false">false</a></span></span></div>

  <p class="para rdfs-comment">
   Функция выполняет поиск по заданному фильтру <code class="parameter">filter</code>
   в каталоге с областью действия <strong><code>LDAP_SCOPE_ONELEVEL</code></strong>.
  </p>
  <p class="para">
   Константа <strong><code>LDAP_SCOPE_ONELEVEL</code></strong> означает, что поиск
   вернёт только информацию с уровня непосредственно ниже
   уровня <code class="parameter">base</code>, который задали при вызове.
   (Эквиваленто вводу команды <strong class="command">ls</strong> и получению списка файлов и папок
   в текущем рабочем каталоге.)
  </p>
  <p class="para">Возможно
также выполнять параллельный поиск, тогда первым аргументом передаётся массив
экземпляров <span class="classname"><a href="class.ldap-connection.php" class="classname">LDAP\Connection</a></span>, а не один экземпляр.
Если поиск не должен использовать один и тот же базовый DN и фильтр, в качестве аргументов
передаётся массив базовых DN и (или) массив фильтров.
Количество элементов в массивах должно совпадать с количеством экземпляров <span class="classname"><a href="class.ldap-connection.php" class="classname">LDAP\Connection</a></span>,
поскольку первые записи массивов используются для одного поиска, вторые — для другого и так далее.
При параллельном поиске возвращается массив экземпляров <span class="classname"><a href="class.ldap-result.php" class="classname">LDAP\Result</a></span>,
если только не возникла ошибка, при которой возвращается значение <strong><code><a href="reserved.constants.php#constant.false">false</a></code></strong>.</p>
 </div>


 <div class="refsect1 parameters" id="refsect1-function.ldap-list-parameters">
  <h3 class="title">Список параметров</h3>
  <p class="para">
   <dl>
    
     <dt><code class="parameter">ldap</code></dt>
     <dd>
      <p class="para">
       Экземпляр класса <span class="classname"><a href="class.ldap-connection.php" class="classname">LDAP\Connection</a></span>,
который возвращает функция <span class="function"><a href="function.ldap-connect.php" class="function">ldap_connect()</a></span>.
      </p>
     </dd>
    
    
     <dt><code class="parameter">base</code></dt>
     <dd>
      <p class="para">
       Базовое DN для каталога.
      </p>
     </dd>
    
    
     <dt><code class="parameter">filter</code></dt>
     <dd>
      <p class="para">
      </p>
     </dd>
    
    
     <dt><code class="parameter">attributes</code></dt>
     <dd>
      <p class="para">
       Массив необходимых атрибутов, например, <code class="literal">array(&quot;mail&quot;, &quot;sn&quot;, &quot;cn&quot;)</code>.
       Обратите внимание, что dn возвращается всегда, независимо от того, какие
       типы атрибутов требуются.
      </p>
      <p class="para">
       Этот параметр работает эффективнее, чем действие по умолчанию,
       которое возвращает все атрибуты и связанные с ними значения.
       Вызов функции с этим параметром считают хорошей практикой.
      </p>
     </dd>
    
    
     <dt><code class="parameter">attributes_only</code></dt>
     <dd>
      <p class="para">
       Должен быть равен 1, только если требуются типы атрибута. Если установлено
       0, то, по умолчанию, выбираются и типы атрибутов и значения атрибута.
      </p>
     </dd>
    
    
     <dt><code class="parameter">sizelimit</code></dt>
     <dd>
      <p class="para">
       Позволяет ограничить количество выбранных записей. Установка этого параметра
       как 0 означает, что ограничение отсутствует.
      </p>
      <blockquote class="note"><p><strong class="note">Замечание</strong>: 
       <p class="para">
        Этот параметр НЕ может переопределять предустановку sizelimit на стороне сервера.
        Хотя его можно установить ниже.
       </p>
       <p class="para">
        Некоторые хосты серверов каталогов будут сконфигурированы так, чтобы
        возвратить не больше, чем предварительно установленное число записей. Если
        это произойдёт, то сервер укажет, что возвратил только частичный набор
        результатов. Это также происходит, если Вы используете этот параметр, чтобы
        ограничить количество выбранных записей.
       </p>
      </p></blockquote>
     </dd>
    
    
     <dt><code class="parameter">timelimit</code></dt>
     <dd>
      <p class="para">
       Устанавливает число секунд, ограничивающее процесс поиска.
       Установка этого параметра как 0 означает, что ограничение отсутствует.
      </p>
      <blockquote class="note"><p><strong class="note">Замечание</strong>: 
       <p class="para">
        Этот параметр НЕ может переопределять предустановку timelimit на стороне сервера.
        Хотя его можно установить ниже.
       </p>
      </p></blockquote>
     </dd>
    
    
     <dt><code class="parameter">deref</code></dt>
     <dd>
      <p class="para">
       Определяет, как псевдонимы должны быть обработаны во время поиска. Может
       быть одним из следующих:
       <ul class="itemizedlist">
        <li class="listitem">
         <span class="simpara">
          <strong><code><a href="ldap.constants.php#constant.ldap-deref-never">LDAP_DEREF_NEVER</a></code></strong> — (по умолчанию) псевдонимы никогда не разыменовываться.
         </span>
        </li>
        <li class="listitem">
         <span class="simpara">
          <strong><code><a href="ldap.constants.php#constant.ldap-deref-searching">LDAP_DEREF_SEARCHING</a></code></strong> — псевдонимы должны быть разыменованы во время поиска,
          но не при определении местоположения базового объекта поиска.
         </span>
        </li>
        <li class="listitem">
         <span class="simpara">
          <strong><code><a href="ldap.constants.php#constant.ldap-deref-finding">LDAP_DEREF_FINDING</a></code></strong> — псевдонимы должны быть разыменованы при определении
          местоположения базового объекта, но не во время поиска.
         </span>
        </li>
        <li class="listitem">
         <span class="simpara">
          <strong><code><a href="ldap.constants.php#constant.ldap-deref-always">LDAP_DEREF_ALWAYS</a></code></strong> — псевдонимы должны всегда разыменовываться всегда.
         </span>
        </li>
       </ul>
      </p>
     </dd>
    
    
     <dt><code class="parameter">controls</code></dt>
     <dd>
      <p class="para">
       Массив <a href="ldap.controls.php" class="link">управляющих объектов протокола LDAP</a> для отправки в запросе.
      </p>
     </dd>
    
   </dl>
  </p>
 </div>


 <div class="refsect1 returnvalues" id="refsect1-function.ldap-list-returnvalues">
  <h3 class="title">Возвращаемые значения</h3>
  <p class="para">
   Возвращает экземпляр
класса <span class="classname"><a href="class.ldap-result.php" class="classname">LDAP\Result</a></span>,
массив экземпляров класса
<span class="classname"><a href="class.ldap-result.php" class="classname">LDAP\Result</a></span> или <strong><code><a href="reserved.constants.php#constant.false">false</a></code></strong>, если возникла ошибка.
  </p>
 </div>


 <div class="refsect1 changelog" id="refsect1-function.ldap-list-changelog">
  <h3 class="title">Список изменений</h3>
  <p class="para">
   <table class="doctable informaltable">
    
     <thead>
      <tr>
       <th>Версия</th>
       <th>Описание</th>
      </tr>

     </thead>

     <tbody class="tbody">
      <tr>
 <td>8.1.0</td>
 <td>
  Параметр <code class="parameter">ldap</code> теперь принимает объект <span class="classname"><a href="class.ldap-connection.php" class="classname">LDAP\Connection</a></span>;
  раньше параметр ждал ресурс (<span class="type"><a href="language.types.resource.php" class="type resource">resource</a></span>) <code class="literal">ldap link</code> .
 </td>
</tr>

      <tr>
 <td>8.1.0</td>
 <td>
  Возвращает экземпляр класса <span class="classname"><a href="class.ldap-result.php" class="classname">LDAP\Result</a></span>;
  раньше возвращался ресурс (<span class="type"><a href="language.types.resource.php" class="type resource">resource</a></span>).
 </td>
</tr>

      <tr>
 <td>8.0.0</td>
 <td>
  Параметр <code class="parameter">controls</code> теперь допускает значение null;
  раньше значение по умолчанию равнялось <code class="literal">[]</code>.
 </td>
</tr>

      <tr>
       <td>7.3.0</td>
       <td>
        Добавлена поддержка параметра <code class="parameter">controls</code>
       </td>
      </tr>

     </tbody>
    
   </table>

  </p>
 </div>


 <div class="refsect1 examples" id="refsect1-function.ldap-list-examples">
  <h3 class="title">Примеры</h3>
  <p class="para">
   <div class="example" id="example-1">
    <p><strong>Пример #1 Выводит список всех организационных единиц организации</strong></p>
    <div class="example-contents">
<div class="phpcode"><code><span style="color: #000000"><span style="color: #0000BB">&lt;?php<br /><br /></span><span style="color: #FF8000">// $ds допустимый экземпляр класса LDAP\Connection<br /><br /></span><span style="color: #0000BB">$basedn </span><span style="color: #007700">= </span><span style="color: #DD0000">"o=My Company, c=US"</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">$justthese </span><span style="color: #007700">= array(</span><span style="color: #DD0000">"ou"</span><span style="color: #007700">);<br /><br /></span><span style="color: #0000BB">$sr </span><span style="color: #007700">= </span><span style="color: #0000BB">ldap_list</span><span style="color: #007700">(</span><span style="color: #0000BB">$ds</span><span style="color: #007700">, </span><span style="color: #0000BB">$basedn</span><span style="color: #007700">, </span><span style="color: #DD0000">"ou=*"</span><span style="color: #007700">, </span><span style="color: #0000BB">$justthese</span><span style="color: #007700">);<br /><br /></span><span style="color: #0000BB">$info </span><span style="color: #007700">= </span><span style="color: #0000BB">ldap_get_entries</span><span style="color: #007700">(</span><span style="color: #0000BB">$ds</span><span style="color: #007700">, </span><span style="color: #0000BB">$sr</span><span style="color: #007700">);<br /><br />for (</span><span style="color: #0000BB">$i</span><span style="color: #007700">=</span><span style="color: #0000BB">0</span><span style="color: #007700">; </span><span style="color: #0000BB">$i </span><span style="color: #007700">&lt; </span><span style="color: #0000BB">$info</span><span style="color: #007700">[</span><span style="color: #DD0000">"count"</span><span style="color: #007700">]; </span><span style="color: #0000BB">$i</span><span style="color: #007700">++) {<br />    echo </span><span style="color: #0000BB">$info</span><span style="color: #007700">[</span><span style="color: #0000BB">$i</span><span style="color: #007700">][</span><span style="color: #DD0000">"ou"</span><span style="color: #007700">][</span><span style="color: #0000BB">0</span><span style="color: #007700">];<br />}<br /><br /></span><span style="color: #0000BB">?&gt;</span></span></code></div>
    </div>

   </div>
  </p>
 </div>


 <div class="refsect1 seealso" id="refsect1-function.ldap-list-seealso">
  <h3 class="title">Смотрите также</h3>
  <p class="para">
   <ul class="simplelist">
    <li><span class="function"><a href="function.ldap-search.php" class="function" rel="rdfs-seeAlso">ldap_search()</a> - Выполняет поиск по LDAP-дереву</span></li>
   </ul>
  </p>
 </div>


</div><?php manual_footer($setup); ?>