ldap_delete

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

ldap_deleteDelete an entry from a directory

说明

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

Deletes a particular entry in LDAP directory.

参数

ldap

通过 ldap_connect() 返回的 LDAP\Connection 实例。

dn

The distinguished name of an LDAP entity.

controls

Array of LDAP Controls to send with the request.

返回值

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

更新日志

版本 说明
8.1.0 现在 ldap 参数接受 LDAP\Connection 实例,之前接受有效的 ldap link resource
8.0.0 controls is nullable now; previously, it defaulted to [].
7.3.0 Support for controls added

参见

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
21 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