CakeFest 2024: The Official CakePHP Conference

xattr_set

(PECL xattr >= 0.9.0)

xattr_set Set an extended attribute

说明

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

This 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

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.

返回值

成功时返回 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'));
?>

参见

add a note

User Contributed Notes 1 note

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