CakeFest 2024: The Official CakePHP Conference

xattr_set

(PECL xattr >= 0.9.0)

xattr_set Установка расширенных атрибутов файла

Описание

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

Эта функция устанавливает расширенный атрибут файла.

У расширенных атрибутов два пространства имён: пользовательское и корневое (root). Пользовательское пространство имён доступно для всех пользователей, в то время как корневое — только для пользователей с root-привилегиями. По умолчанию xattr оперирует в пользовательском пространстве имён, но вы можете изменить это поведение при помощи аргумента flags.

Список параметров

filename

Имя файла, атрибут которого нужно установить.

name

Имя расширенного атрибута. При его отсутствии атрибут создаётся, в противном случае - перезаписывается. Вы можете изменить поведение, используя флаги (flags).

value

Значение атрибута.

flags

Поддерживаемые xattr-флаги
XATTR_CREATE Функция вернёт ошибку, если атрибут существует.
XATTR_REPLACE Функция вернёт ошибку, если атрибут не существует.
XATTR_DONTFOLLOW Не разыменовывать символические ссылки, работать с самой ссылкой.
XATTR_ROOT Установить атрибут в корневом пространстве имён. Требуются права суперпользователя.

Возвращаемые значения

Возвращает true в случае успешного выполнения или false, если возникла ошибка.

Примеры

Пример #1 Установить расширенные атрибуты .wav файла

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

Смотрите также

  • xattr_get() - Получение расширенных атрибутов файла
  • xattr_remove() - Удаление расширенных атрибутов файла

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