Be aware when use on filesystem without xattr support, it returns true. (Bug reported)
PHP - Manual: xattr_set
2024-11-14
(PECL xattr >= 0.9.0)
xattr_set — Set an extended attribute
$filename
,$name
,$value
,$flags
= 0This function sets the value of an extended attribute of a file.
扩展的属性有两种 不同的命名空间:user
和 root。user 命名空间对所有用户均有效,而 root
命名空间仅对拥有 root 权限的用户有效。
xattr 默认在 user 命名空间上操作,但可使用
flags
参数进行更改。
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
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. |
成功时返回 true
, 或者在失败时返回 false
。
示例 #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'));
?>
Be aware when use on filesystem without xattr support, it returns true. (Bug reported)