PHP Conference Japan 2024

PharFileInfo::setMetadata

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

PharFileInfo::setMetadata设置与文件一起保存的文件特定元数据

描述

public PharFileInfo::setMetadata(混合 $metadata):

PharFileInfo::setMetadata() 仅应用于在文件中存储自定义数据,这些数据无法使用与文件一起存储的现有信息表示。如果数据量很大,或者有许多文件包含元数据,则元数据会显着降低加载 phar 归档文件的性能。请注意,文件权限在 phar 内部得到原生支持;可以使用 PharFileInfo::chmod() 方法设置它们。与所有修改 phar 内容的功能一样,如果文件位于 Phar 归档文件中,则必须关闭 phar.readonly INI 变量才能成功。PharData 归档文件中的文件没有此限制。

元数据的一些可能用途包括传递用户/组,这些用户/组应在将文件从 phar 提取到磁盘时设置。其他用途可能包括显式指定要返回的 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
'无法创建/修改 phar: ', $e;
}
?>

以上示例将输出

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

参见

添加注释

用户贡献注释

此页面没有用户贡献的注释。
To Top