(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL phar >= 1.0.0)
PharFileInfo::setMetadata — Establece las metadatos específicas de un fichero
PharFileInfo::setMetadata() debe ser utilizada únicamente para almacenar datos personalizados en un fichero que no pueden ser almacenados con las informaciones normalmente almacenadas con el fichero. Las metadatos pueden degradar el rendimiento de carga de un archivo phar si los datos son demasiado pesados o si hay muchos ficheros con metadatos. Es importante señalar que los permisos de ficheros son soportados nativamente en un phar; es posible fijarlos con el método PharFileInfo::chmod(). Al igual que con todas las funcionalidades que modifican el contenido del phar, la variable INI phar.readonly debe estar a off para tener éxito si el fichero está dentro de un archivo Phar. Los ficheros dentro de archivos PharData no tienen esta restricción.
Un uso posible de las metadatos es el paso de un usuario/grupo que debería ser utilizado cuando un fichero es extraído del phar hacia el disco. También puede especificarse un tipo MIME a devolver. En general, puede almacenarse cualquier dato útil que describa un fichero pero que no pueda ser inscrito directamente en él.
metadata
Cualquier variable PHP que contenga información a almacenar aparte del fichero
No devuelve ningún valor.
Ejemplo #1 Un ejemplo con PharFileInfo::setMetadata()
<?php
// se asegura de que el phar no exista ya
@unlink('nouveauphar.phar');
try {
$p = new Phar(dirname(__FILE__) . '/nouveauphar.phar', 0, 'nouveauphar.phar');
$p['fichier.txt'] = 'salut';
$p['fichier.txt']->setMetadata(array('utilisateur' => 'Yannick', 'mime-type' => 'text/plain'));
var_dump($p['fichier.txt']->getMetadata());
} catch (Exception $e) {
echo 'No puede crear/modificar el phar : ', $e;
}
?>
El resultado del ejemplo sería:
array(2) { ["utilisateur"]=> string(7) "Yannick" ["mime-type"]=> string(10) "text/plain" }