PharFileInfo
PHP Manual

PharFileInfo::setMetadata

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

PharFileInfo::setMetadataEstablecer la metainformación específica de un fichero almacenda con un fichero

Descripción

void PharFileInfo::setMetadata ( mixed $metadata )

PharFileInfo::setMetadata() solamente debería usarse para almacenar información personalizada en un fichero que con pueda ser representado con la información almacenada existente con un fichero. La metainformación puede ralentizar significativamente la velocidad de carga de un archivo phar si la información es grande, o si existen muchos ficheros que contienen metainformación. Es importante observar que esos permisos de fichero están soportados nativamente dentro de un phar; es posible establecerlo con el método PharFileInfo::chmod(). Al igual que con toda la funcionalidad que modifica el contenido de un Phar, la variable INI phar.readonly debe estar desactivada para poder realizar esto si el fichero está dentro de un archivo Phar. Los ficheros dentro de archivos PharData no tienen esta restricción.

Algunos posibles usos para la metainformación incluten pasar un usuario/grupo que debería establecerse al extraer el fichero desde el phar al disco. Otros usos podrían incluir explicitamente especificar un tipo MIME a devolver. Sin embargo, cualquier información útil que describa un fichero, excepto la que no debería estar contenida dentro del mismo, puede ser almacenada.

Parámetros

metadata

Cualquier variable de PHP que contenga información a almacenar junto a un fichero

Valores devueltos

No devuelve ningún valor.

Ejemplos

Ejemplo #1 Un ejemplo de PharFileInfo::setMetadata()

<?php
// asegurarse de que no existe
@unlink('nuevo_phar.phar');
try {
    
$p = new Phar(dirname(__FILE__) . '/nuevo_phar.phar'0'nuevo_phar.phar');
    
$p['fichero.txt'] = 'hola';
    
$p['fichero.txt']->setMetadata(array('usuario' => 'bill''tipo-mime' => 'text/plain'));
    
var_dump($p['fichero.txt']->getMetadata());
} catch (
Exception $e) {
    echo 
'No se pudo crear y/o modificar el phar:'$e;
}
?>

El resultado del ejemplo sería:

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

Ver también


PharFileInfo
PHP Manual