PHP 8.6.0 Beta 1 is available for testing

ldap_modify_batch

(PHP 5.4 >= 5.4.26, PHP 5.5 >= 5.5.10, PHP 5.6 >= 5.6.0, PHP 7, PHP 8)

ldap_modify_batchФормирует и запускает пакетное изменение записи LDAP

Описание

function ldap_modify_batch(
LDAP\Connection $ldap,
string $dn,
array $modifications_info,
? array $controls = null
): bool

Функция модифицирует существующую запись в каталоге LDAP. Функция даёт детально описать изменения.

Список параметров

ldap

Экземпляр класса LDAP\Connection , который возвращает функция ldap_connect() .

dn

Уникальное имя объекта LDAP.

modifications_info

Массив, который описывает необходимую модификацию. Каждая запись этого массива — ассоциативный массив с двумя или тремя ключами: attrib задаёт имя атрибута для изменения, modtype задаёт тип модификации и (в зависимости от типа модификации) values задаёт массив значений атрибутов, который соответствует этой модификации.

Допустимые значения для modtype:

LDAP_MODIFY_BATCH_ADD

Каждое значение, которое задали в элементе values будет добавлено (как дополнительное значение) к атрибуту attrib.

LDAP_MODIFY_BATCH_REMOVE

Каждое значение, которое задали в элементе values будет удалено из атрибута, который задали в элементе attrib. Ни одно значение, которое не указали в элементе values, не будет затронуто.

LDAP_MODIFY_BATCH_REMOVE_ALL

Все значения будут удалены у атрибута attrib. Параметр values не нужен.

LDAP_MODIFY_BATCH_REPLACE

Все существующие значения атрибута attrib будут заменены значениями указанными в values.

Обратите внимание, что все значения attrib должны быть строками, все значения values должны быть массивами строк и любые значения modtype должны быть одной из констант LDAP_MODIFY_BATCH_*, перечисленных выше.

controls

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

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

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

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

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

Примеры

Пример #1 Добавление контакту телефонного номера

<?php
$dn = "cn=John Smith,ou=Wizards,dc=example,dc=com";
$modifs = [
 [
 "attrib" => "telephoneNumber",
 "modtype" => LDAP_MODIFY_BATCH_ADD,
 "values" => ["+1 555 555 1717"],
 ],
];
ldap_modify_batch($connection, $dn, $modifs);
?>

Пример #2 Переименование пользователя

<?php
$dn = "cn=John Smith,ou=Wizards,dc=example,dc=com";
$modifs = [
 [
 "attrib" => "sn",
 "modtype" => LDAP_MODIFY_BATCH_REPLACE,
 "values" => ["Smith-Jones"],
 ],
 [
 "attrib" => "givenName",
 "modtype" => LDAP_MODIFY_BATCH_REPLACE,
 "values" => ["Jack"],
 ],
];
ldap_modify_batch($connection, $dn, $modifs);
ldap_rename($connection, $dn, "cn=Jack Smith-Jones", NULL, TRUE);
?>

Пример #3 Добавление пользователю двух e-mail адресов

<?php
$dn = "cn=Jack Smith-Jones,ou=Wizards,dc=example,dc=com";
$modifs = [
 [
 "attrib" => "mail",
 "modtype" => LDAP_MODIFY_BATCH_ADD,
 "values" => [
 "jack.smith@example.com",
 "jack.smith-jones@example.com",
 ],
 ],
];
ldap_modify_batch($connection, $dn, $modifs);
?>

Пример #4 Изменение пароля пользователя

<?php
$dn = "cn=Jack Smith-Jones,ou=Wizards,dc=example,dc=com";
$modifs = [
 [
 "attrib" => "userPassword",
 "modtype" => LDAP_MODIFY_BATCH_REMOVE,
 "values" => ["Tr0ub4dor&3"],
 ],
 [
 "attrib" => "userPassword",
 "modtype" => LDAP_MODIFY_BATCH_ADD,
 "values" => ["correct horse battery staple"],
 ],
];
ldap_modify_batch($connection, $dn, $modifs);
?>

Пример #5 Изменение пароля пользователя (Active Directory)

<?php
function adifyPw($pw)
{
 return iconv("UTF-8", "UTF-16LE", '"' . $pw . '"');
}
$dn = "cn=Jack Smith-Jones,ou=Wizards,dc=ad,dc=example,dc=com";
$modifs = [
 [
 "attrib" => "unicodePwd",
 "modtype" => LDAP_MODIFY_BATCH_REMOVE,
 "values" => [adifyPw("Tr0ub4dor&3")],
 ],
 [
 "attrib" => "unicodePwd",
 "modtype" => LDAP_MODIFY_BATCH_ADD,
 "values" => [adifyPw("correct horse battery staple")],
 ],
];
ldap_modify_batch($connection, $dn, $modifs);
?>

Нашли ошибку?

ИнструкцияИсправлениеСообщение об ошибке
+Добавить

Примечания пользователей

Пользователи ещё не добавляли примечания для страницы

AltStyle によって変換されたページ (->オリジナル) /