|
ldap_read
Read an entry
(PHP 4, PHP 5)
Code Examples / Notes » ldap_readsbarnum
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. me
In the previous example the $ds = ldap.myserver.com // your ldap server should be $ds = ldap_connect( "ldap.myserver.com" ) ; // your ldap server askegg
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. cnicholl
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. |
Change Languageldap_8859_to_t61 ldap_add ldap_bind ldap_close ldap_compare ldap_connect ldap_count_entries ldap_delete ldap_dn2ufn ldap_err2str ldap_errno ldap_error ldap_explode_dn ldap_first_attribute ldap_first_entry ldap_first_reference ldap_free_result ldap_get_attributes ldap_get_dn ldap_get_entries ldap_get_option ldap_get_values_len ldap_get_values ldap_list ldap_mod_add ldap_mod_del ldap_mod_replace ldap_modify ldap_next_attribute ldap_next_entry ldap_next_reference ldap_parse_reference ldap_parse_result ldap_read ldap_rename ldap_sasl_bind ldap_search ldap_set_option ldap_set_rebind_proc ldap_sort ldap_start_tls ldap_t61_to_8859 ldap_unbind |