函式名: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" => "[email protected]"
);
// 替換條目的屬性值
$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() 函式獲取錯誤訊息。