English | 简体中文 | 繁體中文
查询

ldap_list()函数—用法及示例

「 在LDAP目录中执行搜索操作,并返回匹配搜索条件的所有条目的结果集 」


函数名称:ldap_list()

适用版本:PHP 4, PHP 5, PHP 7

用法:ldap_list()函数用于在LDAP目录中执行搜索操作,并返回匹配搜索条件的所有条目的结果集。

语法:resource ldap_list ( resource $link_identifier , string $base_dn , string $filter [, array $attributes [, int $attrsonly [, int $sizelimit [, int $timelimit [, int $deref ]]]]] )

参数:

  • $link_identifier:LDAP连接标识符,通过ldap_connect()函数获取。
  • $base_dn:搜索的基准DN(Distinguished Name),表示从哪个节点开始搜索。
  • $filter:搜索的过滤器,用于指定搜索条件。
  • $attributes(可选):返回的属性列表,如果未指定,则返回所有属性。
  • $attrsonly(可选):指定是否只返回属性名,不返回属性值。默认为0,表示同时返回属性名和属性值。
  • $sizelimit(可选):指定返回结果的最大数目。默认为0,表示返回所有匹配的结果。
  • $timelimit(可选):指定搜索操作的超时时间(单位:秒)。默认为0,表示无限制。
  • $deref(可选):指定搜索操作时如何处理别名引用。可选值包括LDAP_DEREF_NEVER(不处理)、LDAP_DEREF_SEARCHING(搜索时处理)、LDAP_DEREF_FINDING(查找时处理)、LDAP_DEREF_ALWAYS(总是处理)。

返回值:成功时返回搜索结果的资源标识符(result identifier),失败时返回false。

示例:

<?php
$ldapconn = ldap_connect("ldap.example.com") or die("无法连接到LDAP服务器");

ldap_bind($ldapconn, "cn=admin,dc=example,dc=com", "password") or die("无法绑定到LDAP服务器");

$basedn = "ou=users,dc=example,dc=com";
$filter = "(objectclass=person)";
$attributes = array("cn", "email");

$search = ldap_list($ldapconn, $basedn, $filter, $attributes);

if ($search) {
    $entries = ldap_get_entries($ldapconn, $search);
    for ($i = 0; $i < $entries["count"]; $i++) {
        echo "姓名: " . $entries[$i]["cn"][0] . "<br>";
        echo "邮箱: " . $entries[$i]["email"][0] . "<br><br>";
    }
} else {
    echo "搜索失败";
}

ldap_close($ldapconn);
?>

以上示例演示了如何使用ldap_list()函数搜索LDAP目录中的人员条目,并返回姓名和邮箱属性。首先,通过ldap_connect()函数建立到LDAP服务器的连接。然后,使用ldap_bind()函数进行身份验证。接下来,指定搜索的基准DN、搜索过滤器和返回的属性列表,并调用ldap_list()函数执行搜索。如果搜索成功,通过ldap_get_entries()函数获取搜索结果的条目,并遍历输出每个条目的姓名和邮箱属性。最后,使用ldap_close()函数关闭LDAP连接。

请注意,此示例仅供参考,实际使用时需要根据LDAP服务器的配置和数据结构进行相应的调整。

补充纠错
上一个函数: ldap_modify()函数
下一个函数: Locale::lookup()函数
热门PHP函数
分享链接