ldap_compare
(PHP 4 >= 4.0.2, PHP 5, PHP 7)
ldap_compare — Compare value of attribute found in entry specified with DN
说明
$link_identifier
   , string $dn
   , string $attribute
   , string $value
   [, array $serverctrls = array()
  ] ) : mixed
   Compare value of attribute
   with value of same attribute in an LDAP directory entry.
  
参数
- 
link_identifier
- 
      An LDAP link identifier, returned by ldap_connect(). 
- 
dn
- 
      The distinguished name of an LDAP entity. 
- 
attribute
- 
      The attribute name. 
- 
value
- 
      The compared value. 
- 
serverctrls
- 
      Array of LDAP Controls to send with the request. 
返回值
   Returns TRUE if value matches otherwise returns
   FALSE. Returns -1 on error.
  
更新日志
| 版本 | 说明 | 
|---|---|
| 7.3 | Support for serverctrlsadded | 
范例
The following example demonstrates how to check whether or not given password matches the one defined in DN specified entry.
Example #1 Complete example of password check
<?php
$ds=ldap_connect("localhost");  // assuming the LDAP server is on this host
if ($ds) {
    // bind
    if (ldap_bind($ds)) {
        // prepare data
        $dn = "cn=Matti Meikku, ou=My Unit, o=My Company, c=FI";
        $value = "secretpassword";
        $attr = "password";
        // compare value
        $r=ldap_compare($ds, $dn, $attr, $value);
        if ($r === -1) {
            echo "Error: " . ldap_error($ds);
        } elseif ($r === true) {
            echo "Password correct.";
        } elseif ($r === false) {
            echo "Wrong guess! Password incorrect.";
        }
    } else {
        echo "Unable to bind to LDAP server.";
    }
    ldap_close($ds);
} else {
    echo "Unable to connect to LDAP server.";
}
?>
注释
ldap_compare() can NOT be used to compare BINARY values!