函数名:ldap_compare()
适用版本:PHP 4 >= 4.0.2, PHP 5, PHP 7
用法:ldap_compare(resource $link_identifier, string $dn, string $attribute, string $value): bool
描述:ldap_compare() 函数用于比较指定的属性和值是否存在于指定的条目中。该函数返回一个布尔值,如果比较成功则返回 true,否则返回 false。
参数:
- $link_identifier:LDAP 连接标识符,由 ldap_connect() 函数返回。
- $dn:要比较的条目的 DN (Distinguished Name)。
- $attribute:要比较的属性名。
- $value:要比较的属性值。
返回值:如果比较成功则返回 true,否则返回 false。
示例:
// 连接到 LDAP 服务器
$ldapconn = ldap_connect("ldap.example.com");
if ($ldapconn) {
// 绑定到 LDAP 服务器
$ldapbind = ldap_bind($ldapconn, "cn=admin,dc=example,dc=com", "password");
// 检查绑定是否成功
if ($ldapbind) {
// 比较条目的属性和值
$dn = "uid=johndoe,ou=users,dc=example,dc=com";
$attribute = "cn";
$value = "John Doe";
$compareResult = ldap_compare($ldapconn, $dn, $attribute, $value);
if ($compareResult) {
echo "属性和值匹配";
} else {
echo "属性和值不匹配";
}
} else {
echo "LDAP 绑定失败";
}
// 关闭 LDAP 连接
ldap_close($ldapconn);
} else {
echo "无法连接到 LDAP 服务器";
}
该示例演示了如何使用 ldap_compare() 函数来比较指定条目的属性和值。首先,我们连接到 LDAP 服务器,然后使用 ldap_bind() 函数进行绑定。然后,我们指定要比较的条目的 DN、要比较的属性名和属性值,并将其作为参数传递给 ldap_compare() 函数。最后,根据比较结果输出相应的信息。