ldap_delete

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

ldap_deleteDelete an entry from a directory

说明

ldap_delete ( resource $ldap , string $dn , array|null $controls = null ) : bool

Deletes a particular entry in LDAP directory.

参数

ldap

An LDAP resource, returned by ldap_connect().

dn

The distinguished name of an LDAP entity.

controls

Array of LDAP Controls to send with the request.

返回值

成功时返回 true, 或者在失败时返回 false

更新日志

版本 说明
8.0.0 controls is nullable now; previously, it defaulted to [].
7.3 Support for controls added

参见

User Contributed Notes

grossman at post dot cz 23-Jan-2018 10:56
Be aware! Operation not allowed on non-leaf.
gabriel at hrz dot uni-marburg dot de 14-May-2002 08:16
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));
    }
}