PHP8 PharData::copy

2024-02-22 11:47 更新

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

PharData::copy — 將 phar 存檔內(nèi)部的文件復(fù)制到 phar 中的另一個(gè)新文件

說明

public PharData::copy(string $from, string $to): bool

將 tar/zip 存檔內(nèi)部的文件復(fù)制到同一存檔中的另一個(gè)新文件。 這是使用 copy() 的面向?qū)ο蟮奶娲桨?phar 流包裝器。

參數(shù) 

from
to

返回值 

成功時(shí)返回 true,但將方法調(diào)用封裝在 try/catch 塊,如果沒有拋出異常,則假定成功。

錯(cuò)誤/異常 

如果源文件不 exist,目標(biāo)文件已存在,禁用寫入訪問,打開 文件失敗,讀取源文件失敗,或者如果寫入 phar 的更改失敗,則為 PharException。

示例 

示例 #1 A PharData::copy() example

此示例演示如何使用 PharData::copy() 和 同一件事的等效流包裝器性能。主要 這兩種方法的區(qū)別在于錯(cuò)誤處理。所有 PharData 方法 拋出異常,而流包裝器使用 trigger_error()。

<?php
try {
    $phar = new PharData('myphar.tar');
    $phar['a'] = 'hi';
    $phar->copy('a', 'b');
    echo $phar['b']; // outputs "phar://myphar.tar/b"
} catch (Exception $e) {
    // handle error
}

// the stream wrapper equivalent of the above code.
// E_WARNINGS are triggered on error rather than exceptions.
copy('phar://myphar.tar/a', 'phar//myphar.tar/c');
echo file_get_contents('phar://myphar.tar/c'); // outputs "hi"
?>


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

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號