xattr_set

Set an extended attribute

&reftitle.description; `bool` `xattr_set` `string` `filename` `string` `name` `string` `value` `int` `flags` 0

This function sets the value of an extended attribute of a file.

&xattr.namespace;
&reftitle.parameters;

`filename`

- The file in which we set the attribute.

`name`

- The name of the extended attribute. This attribute will be created if it doesn't exist or replaced otherwise. You can change this behaviour by using the `flags` parameter.

`value`

- The value of the attribute.

`flags`

- ## Supported xattr flags

  `XATTR_CREATE` | Function will fail if extended attribute already exists.
  `XATTR_REPLACE` | Function will fail if extended attribute doesn't exist.
  `XATTR_DONTFOLLOW` | Do not follow the symbolic link but operate on symbolic link itself.
  `XATTR_ROOT` | Set attribute in root (trusted) namespace. Requires root privileges.

&reftitle.returnvalues;

&return.success;

&reftitle.examples;

### Sets extended attributes on `.wav` file

    <?php
    $file = 'my_favourite_song.wav';
    xattr_set($file, 'Artist', 'Someone');
    xattr_set($file, 'My ranking', 'Good');
    xattr_set($file, 'Listen count', '34');

    /* ... other code ... */

    printf("You've played this song %d times", xattr_get($file, 'Listen count'));
    ?>

&reftitle.seealso;

- `xattr_get`
- `xattr_remove`