ConFoo 2025

xattr_set

(PECL xattr >= 0.9.0)

xattr_set Définit un attribut étendu

Description

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

xattr_set() définie la valeur d'un attribut étendu nommé name à la valeur value d'un fichier désigné par le paramètre path.

Les attributs étendus ont deux espaces de noms différents : user et root. L'espace de noms user est disponible pour tous les utilisateurs tandis que l'espace de noms root n'est disponible que pour les utilisateurs ayant les privilèges root. xattr opère sur l'espace de noms user par défaut, mais vous pouvez changer cela en utilisant l'argument flags.

Liste de paramètres

filename

Le fichier dans lequel nous devons définir l'attribut.

name

Le nom de l'attribut étendu. Cet attribut sera créé s'il n'existe pas encore ou remplacé sinon. Vous pouvez modifier ce comportement en utilisant le paramètre flags.

value

La valeur de l'attribut.

flags

Flags xattr supportés
XATTR_CREATE La fonction échouera si l'attribut étendu existe déjà.
XATTR_REPLACE La fonction échouera si l'attribut étendu n'existe pas.
XATTR_DONTFOLLOW Ne pas suivre les liens symboliques mais opère directement sur le lien lui-même.
XATTR_ROOT Définie l'attribut dans l'espace de noms racine. Nécessaire les privilèges d'administrateur.

Valeurs de retour

Cette fonction retourne true en cas de succès ou false si une erreur survient.

Exemples

Exemple #1 Définition des attributs étendus dans un fichier .wav

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

/* ... autres codes ... */

printf("Vous avez écouté cette chanson %d fois", xattr_get($file, 'Listen count'));
?>

Voir aussi

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