PHP Conference Japan 2024

ldap_mod_add

(PHP 4, PHP 5, PHP 7, PHP 8)

ldap_mod_add為目前屬性新增屬性值

說明

ldap_mod_add(
    LDAP\Connection $ldap,
    string $dn,
    array $entry,
    ?array $controls = null
): bool

為指定的 dn 新增一或多個屬性值。若要新增全新的物件,請參閱 ldap_add() 函式。

參數

ldap

ldap_connect() 傳回的 LDAP\Connection 執行個體。

dn

LDAP 實體的識別名稱。

entry

列出要新增的屬性值的關聯陣列。如果屬性還不存在,則會新增它。如果屬性已存在,則只有在該屬性支援多個值時,才能將值新增至該屬性。

controls

要隨請求傳送的 LDAP 控制項陣列。

回傳值

成功時回傳 true,失敗時回傳 false

變更記錄

版本 說明
8.1.0 ldap 參數現在預期 LDAP\Connection 執行個體;先前,預期有效的 ldap link 資源
8.0.0 controls 現在是可為 null 的;先前,它預設為 []
7.3.0 新增了 controls 的支援

備註

注意: 此函式是二進位安全。

參見

新增註解

使用者提供的註解 4 則註解

11
theiderich AT laweekly dot com
19 年前
當新增/編輯使用者的屬性時,「memberof」屬性是一種特殊情況。memberOf 屬性不是使用者綱目的可存取屬性。若要將某人新增至群組,您必須將使用者新增至群組,而不是將群組新增至使用者。您可以透過存取群組屬性「member」來執行此操作

<?php

$group_name
= "CN=MyGroup,OU=Groups,DC=example,DC=com";
$group_info['member'] = $dn; // 使用者的 DN 新增至群組的「member」陣列
ldap_mod_add($connect,$group_name,$group_info);

?>
5
bart-holland at wedefo dot nl
11 年前
在 Apple 的 OpenDirectory 中將使用者新增至群組,做法如下

<?php

$dn
= "cn=groupname,cn=groups,dc=example,dc=com";
$entry['memberuid'] = "username";

ldap_mod_add($connect, $dn, $entry);

?>
3
JoshuaStarr at aelana dot com
23 年前
若要新增具有單一值的新屬性

$entry[mail] = "newmail@aelana.com";
$results = ldap_mod_add($ldapConnID, $dn, $entry);

若要新增具有多個值的新屬性

$entry[mail][] = "newmail@aelana.com";
$entry[mail][] = "altnewmail@aelana.com";
$results = ldap_mod_add($ldapConnID, $dn, $entry);
-3
Claudio Lente <nelchael at ig dot com dot br>
21 年前
搭配 IIS 5 和 Win2k Server 使用 PHP 4.2.3。我的設定如下

$ldap_srvr = 'servername' ;
$ldap_port = 389;
$ldap_con = ldap_connect($ldap_srvr, $ldap_port);
$ldap_rdn = "username";
$ldap_pwd = "__password__";

$ldap_vbind = ldap_bind($ldap_con, $ldap_rdn, $ldap_pwd);

$base_dn= 'CN=username,CN=Users,DC=domain,DC=org,DC=us
' ;
$ldap_filter= 'objectClass=*';

$info['mail']='username@domain.org.us';

ldap_mod_add($ldap_con, $base_dn, $info);
ldap_add($ldap_con, $base_dn, $info);

這會產生一個錯誤
- 警告:LDAP:無法完成修改操作,發生於

ldap_modify($ldap_con, $base_dn, $info);

此函式正確。

就這樣了。
To Top