array ( 0 => 'index.php', 1 => 'PHP Manual', ), 'head' => array ( 0 => 'UTF-8', 1 => 'ja', ), 'this' => array ( 0 => 'function.xattr-set.php', 1 => 'xattr_set', ), 'up' => array ( 0 => 'ref.xattr.php', 1 => 'xattr 関数', ), 'prev' => array ( 0 => 'function.xattr-remove.php', 1 => 'xattr_remove', ), 'next' => array ( 0 => 'function.xattr-supported.php', 1 => 'xattr_supported', ), 'alternatives' => array ( ), 'source' => array ( 'lang' => 'ja', 'path' => 'reference/xattr/functions/xattr-set.xml', ), ); $setup["toc"] = $TOC; $setup["toc_deprecated"] = $TOC_DEPRECATED; $setup["parents"] = $PARENTS; manual_setup($setup); ?>
(PECL xattr >= 0.9.0)
xattr_set — 拡張属性を設定する
この関数は、ファイルの拡張属性の値を設定します。
拡張属性には二種類の異なる名前空間、つまり、ユーザーとルートがあります。
ユーザー名前空間は、すべてのユーザーで利用可能ですが、ルート名前空間は、ルート権限を有するユーザーのみ利用可能です。
xattr はデフォルトでユーザー名前空間で処理を行いますが、 flags
引数によりこれを変更することができます。
filename
属性を設定するファイル。
name
拡張属性の名前。もし属性が存在しない場合は新しく作成され、
存在する場合は上書きされます。この振る舞いは、
flags
パラメータを使用することで変更可能です。
value
属性の値。
flags
XATTR_CREATE |
拡張属性が既に存在する場合、関数は失敗します。 |
XATTR_REPLACE |
拡張属性が存在しない場合、関数は失敗します。 |
XATTR_DONTFOLLOW |
シンボリックリンクのリンク先をたどらず、リンクそのものを操作します。 |
XATTR_ROOT |
root (信頼された) 名前空間に属性を設定します。root 権限が必要です。 |
例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');
/* ... その他のコード ... */
printf("あなたは、この曲を %d 回再生しました", xattr_get($file, 'Listen count'));
?>