Be aware! Operation not allowed on non-leaf.
(PHP 4, PHP 5, PHP 7, PHP 8)
ldap_delete — Удаляет запись из каталога LDAP
Функция удаляет конкретную запись из LDAP-каталога.
ldap
Экземпляр класса LDAP\Connection, который возвращает функция ldap_connect().
dn
Уникальное имя LDAP-записи.
controls
Массив управляющих объектов протокола LDAP для отправки в запросе.
Функция возвращает true
, если выполнилась успешно, или false
, если возникла ошибка.
Версия | Описание |
---|---|
8.1.0 |
Параметр ldap теперь ожидает экземпляр класса LDAP\Connection;
раньше параметр ждал ресурс (resource) ldap link .
|
8.0.0 |
Параметр controls теперь допускает значение null;
раньше значение по умолчанию равнялось [] .
|
7.3.0 |
Добавлена поддержка параметра controls .
|
Useful function to delete dn entries recursively
bool myldap_delete ( resource ds, string dn, bool recursive)
Returns TRUE on success, FALSE on failure
recursive is by default FALSE (same behaviour as ldap_delete)
function myldap_delete($ds,$dn,$recursive=false){
if($recursive == false){
return(ldap_delete($ds,$dn));
}else{
//searching for sub entries
$sr=ldap_list($ds,$dn,"ObjectClass=*",array(""));
$info = ldap_get_entries($ds, $sr);
for($i=0;$i<$info['count'];$i++){
//deleting recursively sub entries
$result=myldap_delete($ds,$info[$i]['dn'],$recursive);
if(!$result){
//return result code, if delete fails
return($result);
}
}
return(ldap_delete($ds,$dn));
}
}