PHP Conference Japan 2024

Phar::offsetSet

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

Phar::offsetSet將內部檔案的內容設定為外部檔案的內容

說明

public Phar::offsetSet(字串 $localName, 資源|字串 $value): void

注意事項:

此方法需要將 php.ini 設定 phar.readonly 設定為 0,才能讓 Phar 物件正常運作。否則,將會拋出 PharException 例外。

這是 ArrayAccess 介面的實作,允許使用陣列存取括號直接操作 Phar 封存的內容。 offsetSet 用於修改現有檔案或將新檔案添加到 Phar 封存中。

參數

localName

要在 Phar 中修改的檔案名稱(相對路徑)。

value

檔案的內容。

傳回值

無傳回值。

錯誤/例外

如果 phar.readonly1,則會拋出 BadMethodCallException,因為只有在 phar.readonly 設定為 0 時才允許修改 Phar。如果將對 Phar 封存所做的更改寫入磁碟時發生任何問題,則會拋出 PharException

範例

範例 #1 Phar::offsetSet() 範例

不應直接存取 offsetSet,而應透過使用 [] 運算子的陣列存取來使用。

<?php
$p
= new Phar('/path/to/my.phar', 0, 'my.phar');
try {
// 呼叫 offsetSet
$p['file.txt'] = 'Hi there';
} catch (
Exception $e) {
echo
'無法修改 file.txt:', $e;
}
?>

注意事項

注意 Phar::addFile()Phar::addFromString()Phar::offsetSet() 每次被呼叫時都會儲存一個新的 phar 封存。如果考量效能,則應改用 Phar::buildFromDirectory()Phar::buildFromIterator()

參見

新增註解

使用者貢獻的註解

此頁面沒有使用者貢獻的註解。
To Top