PHP Conference Nagoya 2025

xattr_set

(PECL xattr >= 0.9.0)

xattr_set Set an extended attribute

Beschreibung

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

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

Erweiterte Eigenschaften haben zwei verschiedene Namensräume: den User- und den Root-Namensraum. Der User-Namensraum steht allen Benutzern zur Verfügung, während der Root-Namensraum nur Benutzern mit Root-Rechten zur Verfügung steht. xattr operiert standardmäßig im User-Namensraum, aber das können Sie mit dem Parameter flags ändern.

Parameter-Liste

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.

Rückgabewerte

Gibt bei Erfolg true zurück. Bei einem Fehler wird false zurückgegeben.

Beispiele

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

Siehe auch

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