PHP8 ZipArchive::addFile

2024-02-26 13:42 更新

(PHP 5 >= 5.2.0, PHP 7, PHP 8, PECL zip >= 1.1.0)

ZipArchive::addFile — 將文件從給定路徑添加到ZIP存檔

說明

public ZipArchive::addFile(
    string $filepath,
    string $entryname = "",
    int $start = 0,
    int $length = ZipArchive::LENGTH_TO_END,
    int $flags = ZipArchive::FL_OVERWRITE
): bool

將文件從給定路徑添加到 ZIP 存檔。

注意: 為了最大限度地提高代碼可移植性,建議在 ZIP 文件名中使用斜線 (/) 做為目錄分隔符。

參數(shù) 

filepath

要添加的文件的路徑。

entryname

如果提供且不為空,則這是 ZIP 存檔中的本地名稱,它將覆蓋 .filepath

start

對于部分復制,起始位置。

length

對于部分副本,要復制的長度, 如果 ZipArchive::LENGTH_TO_END (0) 使用文件大小, 如果 ZipArchive::LENGTH_UNCHECKED則使用整個文件 (從 開始)。start

flags

位掩碼由 ZipArchive::FL_OVERWRITEZipArchive::FL_ENC_GUESS、ZipArchive::FL_ENC_UTF_8、ZipArchive::FL_ENC_CP437、ZipArchive::FL_OPEN_FILE_NOW 組成。 ZIP 常量頁面上描述了這些常量的行為。

返回值 

成功時返回 true, 或者在失敗時返回 false。

更新日志 

版本說明
8.0.0 / 1.18.0flags被添加。
8.3.0 / 1.22.1添加了 ZipArchive::FL_OPEN_FILE_NOW。
8.3.0 / 1.22.2添加了 ZipArchive::LENGTH_TO_END 和 ZipArchive::LENGTH_UNCHECKED。

示例 

此示例打開一個 ZIP 文件存檔并添加 文件 . 如。test.zip/path/to/index.txtnewname.txt

示例 #1 打開并添加

<?php
$zip = new ZipArchive;
if ($zip->open('test.zip') === TRUE) {
    $zip->addFile('/path/to/index.txt', 'newname.txt');
    $zip->close();
    echo 'ok';
} else {
    echo 'failed';
}
?>

注釋 

注意:當一個文件被設置為添加到存檔中時,PHP將鎖定該文件。這 鎖僅在 ZipArchive 對象后釋放 已通過 ZipArchive::close() 或 正在銷毀的 ZipArchive 對象。這可能 阻止您刪除正在添加的文件,直到 鎖已解除。

參見 

  • ZipArchive::replaceFile() - 將ZIP存檔中的文件替換為給定路徑


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

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號