函式名稱: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。