ldap_delete

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

ldap_deleteLöscht einen Eintrag aus einem Verzeichnis

Beschreibung

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

Löscht einen bestimmten Eintrag aus einem LDAP-Verzeichnis.

Parameter-Liste

ldap

Eine LDAP\ConnectionInstanz, die von ldap_connect() zurückgegeben wurde.

dn

Der Distinguished Name eines LDAP-Datenobjekts.

controls

Ein Array von LDAP-Steuerbefehlen, die mit der Anfrage versendet werden sollen.

Rückgabewerte

Gibt bei Erfolg true zurück. Bei einem Fehler wird false zurückgegeben.

Changelog

Version Beschreibung
8.1.0 Der Parameter ldap erwartet nun eine LDAP\Connection-Instanz; vorher wurde eine Ressource erwartet.
8.0.0 controls ist jetzt nullable (akzeptiert den null-Wert); vorher war der Standardwert [].
7.3.0 Die Unterstützung für controls wurde hinzugefügt.

Siehe auch

add a note

User Contributed Notes 2 notes

up
1
grossman at post dot cz
4 years ago
Be aware! Operation not allowed on non-leaf.
up
0
gabriel at hrz dot uni-marburg dot de
20 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