牛牛在线工具

ldap_search()

收录 8868 个 PHP 函数,含用途说明与用法示例。

ldap_search()

在指定的LDAP目录中执行搜索操作

函数名:ldap_search() 适用版本:PHP 4, PHP 5, PHP 7 用法:ldap_search(resource $ldap, string $base_dn, string $filter, array $attributes = [], int $attrsonly = 0, int $sizelimit = 0, int $timelimit = 0, int $deref = LDAP_DEREF_NEVER) : resource|false 说明:ldap_search() 函数用于在指定的LDAP目录中执行搜索操作。它返回一个搜索结果资源,该资源可以用于后续的操作,如获取搜索结果条目。 参数: $ldap:LDAP 连接标识符,由 ldap_connect() 函数返回。 $base_dn:指定搜索的基础DN(Distinguished Name),即搜索的起始位置。 $filter:指定搜索的过滤条件。可以是一个完整的过滤器字符串,也可以是一个简单的属性名。 $attributes(可选):指定要返回的属性列表,默认为空数组,表示返回所有属性。 $attrsonly(可选):指定是否只返回属性名,而不返回属性值。默认为0,表示返回属性名和属性值。 $sizelimit(可选):指定搜索结果的最大条目数,默认为0,表示没有限制。 $timelimit(可选):指定搜索的时间限制(以秒为单位),默认为0,表示没有限制。 $deref(可选):指定搜索过程中如何处理别名(alias)。可选值为LDAP_DEREF_NEVER、LDAP_DEREF_SEARCHING、LDAP_DEREF_FINDING和LDAP_DEREF_ALWAYS。 返回值:成功返回一个搜索结果资源,失败返回false。 示例: // 连接到LDAP服务器 $ldap = ldap_connect('ldap://ldap.example.com'); if ($ldap) { // 绑定到LDAP服务器 $bind = ldap_bind($ldap, 'cn=admin,dc=example,dc=com', 'password'); if ($bind) { // 执行搜索操作 $result = ldap_search($ldap, 'dc=example,dc=com', '(&(objectClass=person)(sn=Smith))'); if ($result) { // 获取搜索结果条目数 $count = ldap_count_entries($ldap, $result); echo "搜索到 {$count} 条结果\n"; // 遍历搜索结果 $entries = ldap_get_entries($ldap, $result); for ($i = 0; $i < $entries['count']; $i++) { echo "DN: {$entries[$i]['dn']}\n"; echo "姓: {$entries[$i]['sn'][0]}\n"; echo "名: {$entries[$i]['givenname'][0]}\n"; echo "邮箱: {$entries[$i]['mail'][0]}\n"; echo "电话: {$entries[$i]['telephonenumber'][0]}\n"; echo "\n"; } } else { echo "搜索失败\n"; } // 关闭LDAP连接 ldap_close($ldap); } else { echo "绑定失败\n"; } } else { echo "连接失败\n"; } 以上示例连接到 LDAP 服务器,绑定到管理员账户,然后执行了一个搜索操作,搜索条件是找出姓为 "Smith" 的人员。搜索结果包含了满足条件的所有条目,并打印出了每个条目的 DN、姓、名、邮箱和电话信息。最后关闭了 LDAP 连接。