PHP マニュアル
前のページ |  | 次のページ

# PharFileInfo->setMetaData

(no version information, might be only in CVS)

PharFileInfo->setMetaData -- ファイルとともに保存する、ファイル固有のメタデータを設定する

## 説明

int PharFileInfo->setMetaData ( void )

setMetaData() を使用するのは、 既存のファイル情報としては表せない独自の情報を保存する場合のみに限るべきです。 メタデータを使用すると、phar アーカイブの読み込み時のパフォーマンスが劇的に低下します。これは、 メタデータのサイズが大きい場合やメタデータを含むファイルが大量にある場合に顕著になります。 ファイルのパーミッションについては phar 自体でネイティブにサポートしており、 chmod() で phar 内のファイルのパーミッションを変更できることを覚えておきましょう。 この関数は phar の内容を変更するので、使用するには INI 設定 phar.readonly が off になっていなければなりません。

メタデータの使用例として考えられるのは、ユーザ/グループ を指定し、phar からディスクに展開する際にそれを設定することなどです。 ほかには、MIME 型として返す値を明示的に指定することなどがあります。 その他、ファイルについて説明するデータであるが ファイル自体に含むべきでないものを保存したりします。

## パラメータ

`metadata`

  ファイルとともに保存する情報を含む、PHP の変数。

## 例

例 1. PharFileInfo->setMetaData() の例

`<?php // 確実に消しておきます @unlink('brandnewphar.phar'); try { $p = new Phar(dirname(__FILE__) . '/brandnewphar.phar', 0, 'brandnewphar.phar'); } catch (Exception $e) { echo 'phar を作成できません:', $e; } $p['file.txt'] = 'hello'; $p['file.txt']->setMetaData(array('user' => 'bill', 'mime-type' => 'text/plain')); var_dump($p['file.txt']->getMetaData()); ?>`

上の例の出力は以下となります。

    array(2) {
      ["user"]=>
      string(4) "bill"
      ["mime-type"]=>
      string(10) "text/plain"
    }

## 参考

PharFileInfo->getMetaData()

前のページ | ホーム | 次のページ
PharFileInfo->setCompressedGZ | 上に戻る | PharFileInfo->setUncompressed