mirror of
https://github.com/sigmasternchen/php-doc-en
synced 2025-03-26 13:58:55 +00:00

git-svn-id: https://svn.php.net/repository/phpdoc/en/trunk@297028 c90b9560-bf6c-de11-be94-00142212c4b1
271 lines
8.5 KiB
XML
271 lines
8.5 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
|
<!-- $Revision$ -->
|
|
<refentry xml:id="function.ldap-search" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
|
|
<refnamediv>
|
|
<refname>ldap_search</refname>
|
|
<refpurpose>Search LDAP tree</refpurpose>
|
|
</refnamediv>
|
|
|
|
<refsect1 role="description">
|
|
&reftitle.description;
|
|
<methodsynopsis>
|
|
<type>resource</type><methodname>ldap_search</methodname>
|
|
<methodparam><type>resource</type><parameter>link_identifier</parameter></methodparam>
|
|
<methodparam><type>string</type><parameter>base_dn</parameter></methodparam>
|
|
<methodparam><type>string</type><parameter>filter</parameter></methodparam>
|
|
<methodparam choice="opt"><type>array</type><parameter>attributes</parameter></methodparam>
|
|
<methodparam choice="opt"><type>int</type><parameter>attrsonly</parameter></methodparam>
|
|
<methodparam choice="opt"><type>int</type><parameter>sizelimit</parameter></methodparam>
|
|
<methodparam choice="opt"><type>int</type><parameter>timelimit</parameter></methodparam>
|
|
<methodparam choice="opt"><type>int</type><parameter>deref</parameter></methodparam>
|
|
</methodsynopsis>
|
|
<para>
|
|
Performs the search for a specified filter on the directory with the scope
|
|
of <constant>LDAP_SCOPE_SUBTREE</constant>. This is equivalent to searching
|
|
the entire directory.
|
|
</para>
|
|
<para>
|
|
From 4.0.5 on it's also possible to do parallel searches. To do this
|
|
you use an array of link identifiers, rather than a single identifier,
|
|
as the first argument. If you don't want the same base DN and the
|
|
same filter for all the searches, you can also use an array of base DNs
|
|
and/or an array of filters. Those arrays must be of the same size as
|
|
the link identifier array since the first entries of the arrays are
|
|
used for one search, the second entries are used for another, and so
|
|
on. When doing parallel searches an array of search result
|
|
identifiers is returned, except in case of error, then the entry
|
|
corresponding to the search will be &false;. This is very much like
|
|
the value normally returned, except that a result identifier is always
|
|
returned when a search was made. There are some rare cases where the
|
|
normal search returns &false; while the parallel search returns an
|
|
identifier.
|
|
</para>
|
|
</refsect1>
|
|
|
|
<refsect1 role="parameters">
|
|
&reftitle.parameters;
|
|
<para>
|
|
<variablelist>
|
|
<varlistentry>
|
|
<term><parameter>link_identifier</parameter></term>
|
|
<listitem>
|
|
<para>
|
|
An LDAP link identifier, returned by <function>ldap_connect</function>.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term><parameter>base_dn</parameter></term>
|
|
<listitem>
|
|
<para>
|
|
The base DN for the directory.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term><parameter>filter</parameter></term>
|
|
<listitem>
|
|
<para>
|
|
The search filter can be simple or advanced, using boolean operators in
|
|
the format described in the LDAP documentation (see the <link
|
|
xlink:href="&url.ldap.filters;">Netscape Directory SDK</link> for full
|
|
information on filters).
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term><parameter>attributes</parameter></term>
|
|
<listitem>
|
|
<para>
|
|
An array of the required attributes, e.g. <literal>array("mail", "sn", "cn")</literal>.
|
|
Note that the "dn" is always returned irrespective of which attributes
|
|
types are requested.
|
|
</para>
|
|
<para>
|
|
Using this parameter is much more efficient than the default action
|
|
(which is to return all attributes and their associated values).
|
|
The use of this parameter should therefore be considered good
|
|
practice.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term><parameter>attrsonly</parameter></term>
|
|
<listitem>
|
|
<para>
|
|
Should be set to 1 if only attribute types are wanted. If set to 0
|
|
both attributes types and attribute values are fetched which is the
|
|
default behaviour.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term><parameter>sizelimit</parameter></term>
|
|
<listitem>
|
|
<para>
|
|
Enables you to limit the count of entries fetched. Setting this to 0
|
|
means no limit.
|
|
</para>
|
|
<note>
|
|
<para>
|
|
This parameter can NOT override server-side preset sizelimit. You can
|
|
set it lower though.
|
|
</para>
|
|
<para>
|
|
Some directory server hosts will be configured to return no more than
|
|
a preset number of entries. If this occurs, the server will indicate
|
|
that it has only returned a partial results set. This also occurs if
|
|
you use this parameter to limit the count of fetched entries.
|
|
</para>
|
|
</note>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term><parameter>timelimit</parameter></term>
|
|
<listitem>
|
|
<para>
|
|
Sets the number of seconds how long is spend on the search. Setting
|
|
this to 0 means no limit.
|
|
</para>
|
|
<note>
|
|
<para>
|
|
This parameter can NOT override server-side preset timelimit. You can
|
|
set it lower though.
|
|
</para>
|
|
</note>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term><parameter>deref</parameter></term>
|
|
<listitem>
|
|
<para>
|
|
Specifies how aliases should be handled during the search. It can be
|
|
one of the following:
|
|
<itemizedlist>
|
|
<listitem>
|
|
<simpara>
|
|
<constant>LDAP_DEREF_NEVER</constant> - (default) aliases are never
|
|
dereferenced.
|
|
</simpara>
|
|
</listitem>
|
|
<listitem>
|
|
<simpara>
|
|
<constant>LDAP_DEREF_SEARCHING</constant> - aliases should be
|
|
dereferenced during the search but not when locating the base object
|
|
of the search.
|
|
</simpara>
|
|
</listitem>
|
|
<listitem>
|
|
<simpara>
|
|
<constant>LDAP_DEREF_FINDING</constant> - aliases should be
|
|
dereferenced when locating the base object but not during the search.
|
|
</simpara>
|
|
</listitem>
|
|
<listitem>
|
|
<simpara>
|
|
<constant>LDAP_DEREF_ALWAYS</constant> - aliases should be dereferenced
|
|
always.
|
|
</simpara>
|
|
</listitem>
|
|
</itemizedlist>
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
</variablelist>
|
|
</para>
|
|
</refsect1>
|
|
|
|
<refsect1 role="returnvalues">
|
|
&reftitle.returnvalues;
|
|
<para>
|
|
Returns a search result identifier or &false; on error.
|
|
</para>
|
|
</refsect1>
|
|
|
|
<refsect1 role="changelog">
|
|
&reftitle.changelog;
|
|
<para>
|
|
<informaltable>
|
|
<tgroup cols="2">
|
|
<thead>
|
|
<row>
|
|
<entry>&Version;</entry>
|
|
<entry>&Description;</entry>
|
|
</row>
|
|
</thead>
|
|
<tbody>
|
|
<row>
|
|
<entry>4.0.5</entry>
|
|
<entry>
|
|
Parallel searches support was added.
|
|
</entry>
|
|
</row>
|
|
<row>
|
|
<entry>4.0.2</entry>
|
|
<entry>
|
|
The <parameter>attrsonly</parameter>, <parameter>sizelimit</parameter>,
|
|
<parameter>timelimit</parameter> and <parameter>deref</parameter> were
|
|
added.
|
|
</entry>
|
|
</row>
|
|
</tbody>
|
|
</tgroup>
|
|
</informaltable>
|
|
</para>
|
|
</refsect1>
|
|
|
|
<refsect1 role="examples">
|
|
&reftitle.examples;
|
|
<para>
|
|
The example below retrieves the organizational unit, surname,
|
|
given name and email address for all people in "My Company" where
|
|
the surname or given name contains the substring <varname>$person</varname>. This
|
|
example uses a boolean filter to tell the server to look for
|
|
information in more than one attribute.
|
|
<example>
|
|
<title>LDAP search</title>
|
|
<programlisting role="php">
|
|
<![CDATA[
|
|
<?php
|
|
// $ds is a valid link identifier for a directory server
|
|
|
|
// $person is all or part of a person's name, eg "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);
|
|
|
|
echo $info["count"]." entries returned\n";
|
|
?>
|
|
]]>
|
|
</programlisting>
|
|
</example>
|
|
</para>
|
|
</refsect1>
|
|
|
|
</refentry>
|
|
|
|
<!-- Keep this comment at the end of the file
|
|
Local variables:
|
|
mode: sgml
|
|
sgml-omittag:t
|
|
sgml-shorttag:t
|
|
sgml-minimize-attributes:nil
|
|
sgml-always-quote-attributes:t
|
|
sgml-indent-step:1
|
|
sgml-indent-data:t
|
|
indent-tabs-mode:nil
|
|
sgml-parent-document:nil
|
|
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
|
|
sgml-exposed-tags:nil
|
|
sgml-local-catalogs:nil
|
|
sgml-local-ecat-files:nil
|
|
End:
|
|
vim600: syn=xml fen fdm=syntax fdl=2 si
|
|
vim: et tw=78 syn=sgml
|
|
vi: ts=1 sw=1
|
|
-->
|