函数名称:ldap_rename()
适用版本:PHP 4, PHP 5, PHP 7
用法:ldap_rename(resource $link_identifier, string $dn, string $newrdn, string $newparent, bool $deleteoldrdn = TRUE): bool
说明:ldap_rename() 函数用于重命名或移动一个入口(条目)在目录服务器中。该函数必须在已经建立连接的 LDAP 目录服务器上执行。
参数:
- $link_identifier:LDAP 连接标识符,通过 ldap_connect() 函数获取。
- $dn:需要重命名或移动的入口的 DN(Distinguished Name)。
- $newrdn:新的相对 DN(相对于新的父级)或者新的完整 DN。
- $newparent:新的父级的 DN(如果需要移动入口)。
- $deleteoldrdn:是否删除旧的 RDN(Relative Distinguished Name),默认为 TRUE。
返回值:成功时返回 TRUE,失败时返回 FALSE。
示例:
<?php
// 建立连接
$ldapconn = ldap_connect("ldap.example.com") or die("无法连接到 LDAP 服务器。");
// 绑定身份验证
$ldapbind = ldap_bind($ldapconn, "cn=admin,dc=example,dc=com", "adminpassword") or die("无法进行身份验证。");
// 重命名条目
$dn = "cn=John Doe,ou=Users,dc=example,dc=com";
$newrdn = "cn=Jonathan Doe";
$newparent = "ou=NewUsers,dc=example,dc=com";
$deleteoldrdn = true;
if (ldap_rename($ldapconn, $dn, $newrdn, $newparent, $deleteoldrdn)) {
echo "条目重命名成功。";
} else {
echo "条目重命名失败。";
}
// 关闭连接
ldap_close($ldapconn);
?>
注意事项:
- 在执行 ldap_rename() 函数之前,必须通过 ldap_bind() 函数进行身份验证并建立连接。
- $dn 参数必须是现有条目的完整 DN(Distinguished Name)。
- $newrdn 参数可以是新的相对 DN(相对于新的父级)或者新的完整 DN。
- 如果需要移动入口,$newparent 参数必须是新的父级的 DN。
- 默认情况下,旧的 RDN(Relative Distinguished Name)会被删除,如果不需要删除,可以将 $deleteoldrdn 参数设置为 FALSE。