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|null $controls = null ) : bool

Deletes a particular entry in LDAP directory.

参数

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.

返回值

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

更新日志

版本 说明
8.1.0 The ldap parameter expects an LDAP\Connection instance now; previously, a 资源(resource) was expected.
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));
    }
}
PHP8中文手册 站长在线 整理 版权归PHP文档组所有