PHP: ldap_read - Manual

downloads | documentation | faq | getting help | mailing lists | reporting bugs | php.net sites | links | conferences | my php.net

search for in the

ldap_rename ldap_parse_result

Last updated: Fri, 26 Jan 2007

view this page in

# ldap_read

(PHP 3, PHP 4, PHP 5)

ldap_read -- Read an entry

## Description

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

Returns a search result identifier or `FALSE` on error.

ldap_read() performs the search for a specified `filter` on the directory with the scope LDAP_SCOPE_BASE. So it is equivalent to reading an entry from the directory.

An empty filter is not allowed. If you want to retrieve absolutely all information for this entry, use a filter of "objectClass=*". If you know which entry types are used on the directory server, you might use an appropriate filter such as "objectClass=inetOrgPerson".

This call takes 5 optional parameters. See ldap_search() notes.

> Замечание: These optional parameters were added in 4.0.2: `attrsonly`, `sizelimit`, `timelimit`, `deref`.

From 4.0.5 on it's also possible to do parallel searches. See ldap_search() for details.

add a note User Contributed Notes
ldap_read
cnicholl at yahoo dot com
21-Dec-2005 11:21
`Clarification of the ldap_read command syntax:
If you just want to pull certain attributes from an object and you already know it's dn, the ldap_read command can do this as illustrated below. It will be less overhead than ldap_search.
The string base_dn which is normally used to set the top context for a recursive ldap_search is used slightly differently with this command. It is used to specify the actual object with the full dn. (Hopefully this saves someone else a couple hours trying this command out.)
<?php
$ds = ldap.myserver.com // your ldap server
$dn = "cn=username,o=My Company, c=US"; //the object itself instead of the top search level as in ldap_search
$filter="(objectclass=*)"; // this command requires some filter
$justthese = array("ou", "sn", "givenname", "mail"); //the attributes to pull, which is much more efficient than pulling all attributes if you don't do this
$sr=ldap_read($ds, $dn, $filter, $justthese);
$entry = ldap_get_entries($ds, $sr);
echo $entry[0]["mail"][0] . "is the email address of the cn your requested";
echo $entry[0]["sn"][0] . "is the sn of the cn your requested";
ldap_close($ds);
?>
This prints out the specified users mail and surname for example.`
askegg at challenger dot com dot au
21-Aug-2003 02:11
`In addition to the above you can also use ldap_list for a ONE scope LDAP search.
PHP does not conform to the RFC's in that it does not use scope parameters. Instead use ldap_read for a scope of BASE, ldap_list for ONE and ldap_search for SUB.`
sbarnum at mac dot com
18-Jul-2001 02:15
`This differs from ldap_search() by not recursing down to sub-entries. if you know the dn of the item you're looking for and only want info on that entry, use ldap_read() and pass it the full dn of the item you want.
It also seems that you'd alway want something like objectclass=* for the filter, since you're only searching on one entry.`
add a note
ldap_rename ldap_parse_result

Last updated: Fri, 26 Jan 2007
show source | credits | stats | sitemap | contact | advertising | mirror sites
Copyright © 2001-2007 The PHP Group
All rights reserved.
This mirror generously provided by: Yahoo! Inc.
Last updated: Sat Mar 10 09:32:46 2007 PST