(PHP 4, PHP 5, PHP 7, PHP 8)
ldap_mod_add — Add attribute values to current attributes
Adds one or more attribute values to the specified dn.
To add a whole new object see ldap_add() function.
ldapAn LDAP\Connection instance, returned by ldap_connect() .
dnThe distinguished name of an LDAP entity.
entryAn associative array listing the attirbute values to add. If an attribute was not existing yet it will be added. If an attribute is existing you can only add values to it if it supports multiple values.
controlsArray of LDAP Controls to send with the request.
| Version | Description |
|---|---|
| 8.1.0 |
The ldap parameter expects an LDAP\Connection
instance now; previously, a valid ldap link resource was expected.
|
| 8.0.0 |
controls is nullable now; previously, it defaulted to [].
|
| 7.3.0 |
Support for controls added
|
Note: This function is binary-safe.
When adding/editing attributes for a user, the 'memberof' attribute is a special case. The memberOf attribute is not an accessible attribute of the user schema. To add someone to a group, you have to add the user in the group, and not the group in the user. You can do this by accessing the group attribute 'member':
<?php
$group_name = "CN=MyGroup,OU=Groups,DC=example,DC=com";
$group_info['member'] = $dn; // User's DN is added to group's 'member' array
ldap_mod_add($connect,$group_name,$group_info);
?>Adding a user to a group in Apple's OpenDirectory goes as follows:
<?php
$dn = "cn=groupname,cn=groups,dc=example,dc=com";
$entry['memberuid'] = "username";
ldap_mod_add($connect, $dn, $entry);
?>To add a new attribute with a single value:
$entry[mail] = "newmail@aelana.com";
$results = ldap_mod_add($ldapConnID, $dn, $entry);
To add a new attribute with multiple values:
$entry[mail][] = "newmail@aelana.com";
$entry[mail][] = "altnewmail@aelana.com";
$results = ldap_mod_add($ldapConnID, $dn, $entry);Using PHP 4.2.3 with IIS 5 and Win2k Server. My confs are:
$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);
this generate an error:
- Warning: LDAP: modify operation could not be completed. in
ldap_modify($ldap_con, $base_dn, $info);
this function corretly.
It?s all.