PharFileInfo::setMetadata

(PHP 5 >= 5.3.0, PHP 7, PECL phar >= 1.0.0)

PharFileInfo::setMetadataУстановка мета-данных для конкретного файла

Описание

public void PharFileInfo::setMetadata ( mixed $metadata )

PharFileInfo::setMetadata() следует использовать для сохранения мета-данных конкретного файла, которые нельзя хранить внутри самого файла, поскольку, если данных много, либо в принципе много файлов с мета-данными - это значительно замедляет загрузку phar-архива. Важно помнить, что phar-архивы из коробки поддерживают права на файлы и их можно задать с помощью метода PharFileInfo::chmod(). Так как этот функционал изменяет phar-архив, необходимо, чтобы опция phar.readonly была отключена, иначе внести изменения в архив Phar не получится. На архивы PharData ограничение на запись не распространяется.

Мета-данные для файлов можно использовать, например, для указания, какие права надо назначить файлу при экспорте его на диск, или для указания MIME-типа, который он возвращает. В общем - любая полезная информация, которой не место внутри самого файла.

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

metadata

Любая переменная PHP, содержащая необходимую информацию

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

Эта функция не возвращает значения после выполнения.

Примеры

Пример #1 Пример использования PharFileInfo::setMetadata()

<?php
// удалим, на всякий случай
@unlink('brandnewphar.phar');
try {
    
$p = new Phar(dirname(__FILE__) . '/brandnewphar.phar'0'brandnewphar.phar');
    
$p['file.txt'] = 'hello';
    
$p['file.txt']->setMetadata(array('user' => 'bill''mime-type' => 'text/plain'));
    
var_dump($p['file.txt']->getMetaData());
} catch (
Exception $e) {
    echo 
'Could not create/modify phar: '$e;
}
?>

Результат выполнения данного примера:

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

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