函数名:ldap_mod_replace()
适用版本:PHP 4, PHP 5, PHP 7
用法:ldap_mod_replace() 函数用于替换指定条目的属性值。它将替换已有的属性值,或者在属性不存在时创建新的属性。
语法:ldap_mod_replace(resource $ldap_link_identifier, string $dn, array $entry)
参数:
- $ldap_link_identifier:LDAP 连接标识符,通过 ldap_connect() 函数获取。
- $dn:要替换属性值的条目的 DN(Distinguished Name)。
- $entry:包含要替换的属性和值的关联数组。数组的键为属性名,值为属性值。
返回值:如果成功,则返回 TRUE。如果失败,则返回 FALSE。
示例:
// 连接到 LDAP 服务器
$ldapconn = ldap_connect("ldap.example.com");
// 绑定到服务器
$ldapbind = ldap_bind($ldapconn, "cn=admin,dc=example,dc=com", "password");
// 定义要替换的属性和值
$entry = array(
"givenName" => "John",
"sn" => "Doe",
"mail" => "john.doe@example.com"
);
// 替换条目的属性值
$modify = ldap_mod_replace($ldapconn, "uid=johndoe,ou=users,dc=example,dc=com", $entry);
if ($modify) {
echo "属性值替换成功!";
} else {
echo "属性值替换失败!";
}
// 关闭 LDAP 连接
ldap_close($ldapconn);
注意事项:
- 在使用 ldap_mod_replace() 函数之前,必须先通过 ldap_bind() 函数将连接绑定到 LDAP 服务器。
- 替换属性值时,必须指定条目的 DN(Distinguished Name)。
- 要替换的属性和值应该以关联数组的形式提供,其中键是属性名,值是属性值。
- 如果要替换的属性不存在,ldap_mod_replace() 函数会创建新的属性。
- 在执行 ldap_mod_replace() 函数之后,应该使用 ldap_errno() 函数来检查是否有错误发生,并使用 ldap_err2str() 函数获取错误消息。