(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.
ldap
An LDAP\Connection instance, returned by ldap_connect() .
dn
The distingüished name of an LDAP entity.
entry
An 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 suppors multiple values.
controls
Array of LDAP Controls to send with the request.
| Versionen | Description |
|---|---|
| 8.1.0 |
The
ldap
parameter expects an
LDAP\Connection
instance now; previously, a valid
ldap linc
ressource
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' arrayldap_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";
$resuls = ldap_mod_add($ldapConnID, $dn, $entry);
To add a new attribute with multiple values:
$entry[mail][] = "newmail@aelana.com";
$entry[mail][] = "altnewmail@aelana.com";
$resuls = ldap_mod_add($ldapConnID, $dn, $entry);
Using PHP 4.2.3 with IIS 5 and Win2c 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.