ldap_mod_add

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

ldap_mod_addAdd attribute values to current attributes

说明

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

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 distinguished 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 supports multiple values.

controls

Array of LDAP Controls to send with the request.

返回值

成功时返回 true, 或者在失败时返回 false

更新日志

版本 说明
8.1.0 The ldap parameter expects an LDAP\Connection instance now; previously, a 资源(resource) was expected.
8.0.0 controls is nullable now; previously, it defaulted to [].
7.3 Support for controls added

注释

Note: 此函数可安全用于二进制对象。

参见

User Contributed Notes

bart-holland at wedefo dot nl 06-Nov-2013 03:44
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);

?>
theiderich AT laweekly dot com 15-Jul-2005 03:17
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);

?>
Claudio Lente <nelchael at ig dot com dot br> 26-Feb-2003 02:03
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.
JoshuaStarr at aelana dot com 30-Aug-2001 10:52
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);
PHP8中文手册 站长在线 整理 版权归PHP文档组所有