PharFileInfo::setMetadata

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

PharFileInfo::setMetadataEstablece las metadatos específicas de un fichero

Descripción

public PharFileInfo::setMetadata(mixed $metadata): void

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.

Parámetros

metadata

Cualquier variable PHP que contenga información a almacenar aparte del fichero

Valores devueltos

No devuelve ningún valor.

Ejemplos

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"
}

Ver también

add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top