PHP8 Phar::offsetSet

2024-02-21 14:39 更新

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

Phar::offsetSet — 將內(nèi)部文件的內(nèi)容設(shè)置為外部文件的內(nèi)容

說明

public Phar::offsetSet(string $localName, resource|string $value): void
注意:此方法需要 將 中的 設(shè)為 以適合 Phar 對象. 否則, 將拋出PharException.php.iniphar.readonly0

這是 ArrayAccess 接口的實現(xiàn),允許 直接操作 Phar 存檔的內(nèi)容 陣列訪問括號。offsetSet 用于修改 現(xiàn)有文件,或?qū)⑿挛募砑拥?Phar 存檔。

參數(shù) 

localName

要在 Phar 中修改的文件名(相對路徑)。

value

文件的內(nèi)容。

返回值 

無返回值。

錯誤/異常 

如果 phar.readonly 為 ,則拋出 BadMethodCallException,因為修改 Phar 僅當(dāng) phar.readonly 設(shè)置為 時才允許。如果刷新出現(xiàn)任何問題,則引發(fā) PharException 對 Phar 存檔到磁盤所做的更改。10

示例 

示例 #1 A Phar::offsetSet() example

不應(yīng)直接訪問 offsetSet,而應(yīng)使用 通過與操作員的陣列訪問。[]

<?php
$p = new Phar('/path/to/my.phar', 0, 'my.phar');
try {
    // calls offsetSet
    $p['file.txt'] = 'Hi there';
} catch (Exception $e) {
    echo 'Could not modify file.txt:', $e;
}
?>

注釋 

注意: Phar::addFile(), Phar:: addFromString() 和 Phar::offsetSet() 每次調(diào)用它們時都會保存一個新的 phar 存檔。如果性能是一個問題,則應(yīng)改用 Phar::buildFromDirectory() 或 Phar::buildFromIterator()。

參見 

  • Phar::offsetExists() - 確定 phar 中是否存在文件
  • Phar::offsetGet() - 獲取特定文件的 PharFileInfo 對象
  • Phar::offsetUnset() - 從 phar 中刪除文件


以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號