PHP Conference Nagoya 2025

xattr_set

(PECL xattr >= 0.9.0)

xattr_set Set an extended attribute

Descrizione

xattr_set(
    string $filename,
    string $name,
    string $value,
    int $flags = 0
): bool

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

Gli attributi estesi hanno due namespace differenti: user e root. Il namespace user è disponibile per tutti gli utenti mentre il namespace root è disponibile solo per gli utenti con privilegi di root. xattr opera sul namespace user di default, ma questo si può cambiare utilizzando il parametro flags.

Elenco dei parametri

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.

Valori restituiti

Restituisce true in caso di successo, false in caso di fallimento.

Esempi

Example #1 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'));
?>

Vedere anche:

add a note

User Contributed Notes 1 note

up
0
blr at blr dot hu
9 years ago
Be aware when use on filesystem without xattr support, it returns true. (Bug reported)
To Top