ldap_delete

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

ldap_deleteDelete an entry from a directory

Description

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

Deletes a particular entry in LDAP directory.

Parameters

ldap

An LDAP\Connection instance, returned by ldap_connect().

dn

The distinguished name of an LDAP entity.

controls

Array of LDAP Controls to send with the request.

Return Values

Returns true on success or false on failure.

Changelog

Version Description
8.1.0 The ldap parameter expects an LDAP\Connection instance now; previously, a valid ldap link resource was expected.
8.0.0 controls is nullable now; previously, it defaulted to [].
7.3.0 Support for controls added

See Also

add a note add a note

User Contributed Notes 2 notes

up
1
grossman at post dot cz
6 years ago
Be aware! Operation not allowed on non-leaf.
up
0
gabriel at hrz dot uni-marburg dot de
22 years ago
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));
    }
}
To Top