Be aware when use on filesystem without xattr support, it returns true. (Bug reported)(PECL xattr >= 0.9.0)
xattr_set — Define um atributo estendido
Esta função define o valor de um atributo estendido de um arquivo.
Os atributos estendidos têm dois namespaces diferentes: usuário
e root. O namespace de usuário está disponível para todos os usuários, enquanto o namespace de root
está disponível apenas para o usuário com privilégios de root. xattr opera no namespace de
usuário por padrão, mas isso pode ser alterado com o parâmetro
flags.
filenameO arquivo no qual o atributo será definido.
name
       O nome do atributo estendido. Este atributo será criado se
       não existir ou, caso contrário, será substituído. Este comportamento pode ser alterado
       usando o parâmetro flags.
      
valueO valor do atributo.
flags
| XATTR_CREATE | A função falhará se o atributo estendido já existir. | 
| XATTR_REPLACE | A função falhará se o atributo estendido não existir. | 
| XATTR_DONTFOLLOW | Não segue o link simbólico mas opera no link em si. | 
| XATTR_ROOT | Define o atributo no espaço de nomes (confiável) do administrador. Requer privilégios de adminsitrador. | 
Exemplo #1 Define atributos estendidos no arquivo .wav
<?php
$file = 'minha_música_favorita.wav';
xattr_set($file, 'Artista', 'Alguém');
xattr_set($file, 'Minha avaliação', 'Boa');
xattr_set($file, 'Quantas vezes foi ouvida', '34');
/* ... outro código ... */
printf("Você ouviu esta música %d vezes", xattr_get($file, 'Quantas vezes foi ouvida'));
?>Be aware when use on filesystem without xattr support, it returns true. (Bug reported)