PharFileInfo::setMetadata
(PHP >= 5.3.0, PECL phar >= 1.0.0)
PharFileInfo::setMetadata — Establecer la metainformación específica de un fichero almacenda con un fichero
Descripción
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::hasMetadata() - Devolver la metainformación de una entrada
- PharFileInfo::getMetadata() - Devolver la metainformación específica de un fichero almacenada con un fichero
- PharFileInfo::delMetadata() - Eliminar la metainformación de una entrada
- Phar::setMetadata() - Establecer la metainformación de un archivo phar
- Phar::hasMetadata() - Devolver si el phar tiene metainformación global
- Phar::getMetadata() - Devolver la metainformación de un archivo phar
