函数名:ldap_read()
适用版本:PHP 4, PHP 5, PHP 7
用法:ldap_read() 函数用于在LDAP目录中搜索条目。它执行指定的搜索,并返回所有匹配条目的结果标识符。
语法:ldap_read ( resource $ldap_conn , string $base_dn , string $filter [, array $attributes [, int $attrsonly [, int $sizelimit [, int $timelimit [, int $deref ]]]]] ) : resource|false
参数:
- $ldap_conn:一个连接标识符,由 ldap_connect() 函数返回。
- $base_dn:搜索的基准DN(Distinguished Name)。搜索将从此DN开始。
- $filter:LDAP搜索过滤器。使用此过滤器来匹配要搜索的条目。
- $attributes(可选):要返回的属性数组。如果未指定,则返回所有属性。
- $attrsonly(可选):如果设置为 1,则只返回属性名称,而不返回属性值。
- $sizelimit(可选):限制结果集的条目数。
- $timelimit(可选):限制搜索的时间(秒)。
- $deref(可选):指定解引用别名的方式。
返回值:成功则返回一个结果标识符,失败则返回 false。
示例:
// 建立与LDAP服务器的连接
$ldap_conn = ldap_connect("ldap.example.com");
// 绑定到LDAP服务器(可选)
ldap_bind($ldap_conn, "cn=admin,dc=example,dc=com", "password");
// 执行搜索
$result = ldap_read($ldap_conn, "ou=Users,dc=example,dc=com", "(objectClass=person)");
// 检查搜索结果
if ($result) {
// 获取搜索结果的第一个条目
$entry = ldap_first_entry($ldap_conn, $result);
// 获取条目的 DN
$dn = ldap_get_dn($ldap_conn, $entry);
// 获取条目的属性值
$attributes = ldap_get_attributes($ldap_conn, $entry);
// 打印结果
echo "DN: " . $dn . "\n";
echo "Attributes: \n";
print_r($attributes);
} else {
echo "搜索失败!";
}
// 关闭 LDAP 连接
ldap_close($ldap_conn);
以上示例演示了如何使用 ldap_read() 函数在 LDAP 目录中搜索条目。首先建立与 LDAP 服务器的连接,然后执行搜索,并获取搜索结果的第一个条目。最后,获取条目的 DN 和属性值,并打印出来。请注意,示例中的参数值仅供参考,实际使用时需要根据实际情况进行调整。