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): void

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