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\Connection, который возвращает функция ldap_connect().

dn

Отличительное имя LDAP-объекта.

entry

Ассоциативный массив со списком добавляемых значений атрибутов. Если какой-либо атрибут ещё не существует, то он будет добавлен. Если атрибут уже существует, то вы можете только добавить к нему значение, если он поддерживает множественные значения.

controls

Массив управляющих констант LDAP для отправки в запросе.

Возвращаемые значения

Функция возвращает true в случае успешного выполнения или false, если возникла ошибка.

Список изменений

Версия Описание
8.1.0 Параметр ldap теперь ожидает экземпляр класса LDAP\Connection; раньше параметр ждал ресурс (resource) ldap link .
8.0.0 Параметр controls теперь допускает значение null; раньше значение по умолчанию равнялось [].
7.3.0 Добавлена поддержка параметра controls

Примечания

Замечание: Эта функция безопасна для обработки данных в двоичной форме.

Смотрите также

  • ldap_mod_add_ext() - Добавить значения атрибута к текущим атрибутам
  • ldap_mod_del() - Удаляет значения атрибута из текущих атрибутов
  • ldap_mod_replace() - Заменяет значения атрибутов на новые
  • ldap_modify_batch() - Формирует и запускает пакетное изменение записи LDAP

add a note

User Contributed Notes 4 notes

up
11
theiderich AT laweekly dot com
19 years ago
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);

?>
up
5
bart-holland at wedefo dot nl
10 years ago
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);

?>
up
3
JoshuaStarr at aelana dot com
23 years ago
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);
up
-3
Claudio Lente <nelchael at ig dot com dot br>
21 years ago
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.
To Top