ldap_add

Add entries to LDAP directory

Description

bool ldap_add(
    LDAP\Connection $ldap,
    string $dn,
    array $entry,
    arraynull $controls = null
)

Add entries in the LDAP directory.

Parameters

ldap

An LDAP\Connection instance, returned by ldap_connect.

dn

The distinguished name of an LDAP entity.

entry

An array that specifies the information about the entry. The values in the entries are indexed by individual attributes. In case of multiple values for an attribute, they are indexed using integers starting with 0.

<?php
$entry["attribute1"] = "value";
$entry["attribute2"][0] = "value1";
$entry["attribute2"][1] = "value2";
?>

controls

Array of LDAP Controls to send with the request.

Return Values

Returns true on success or false on failure.

Changelog

Version Description
8.1.0 The ldap parameter expects an LDAP\Connection instance now; previously, a valid ldap link resource was expected.
8.0.0 controls is nullable now; previously, it defaulted to [].
7.3.0 Support for controls added

Examples

Example #1 Complete example with authenticated bind

<?php
$ds = ldap_connect("localhost");  // assuming the LDAP server is on this host

if ($ds) {
    // bind with appropriate dn to give update access
    $r = ldap_bind($ds, "cn=root, o=My Company, c=US", "secret");

    // prepare data
    $info["cn"] = "John Jones";
    $info["sn"] = "Jones";
    $info["objectclass"] = "person";

    // add data to directory
    $r = ldap_add($ds, "cn=John Jones, o=My Company, c=US", $info);

    ldap_close($ds);
} else {
    echo "Unable to connect to LDAP server";
}
?>

Notes

Note: This function is binary-safe.

See Also

  • ldap_add_ext
  • ldap_delete