ZipArchive — ZipArchive-klassen

Från Wiki.linux.se
Version från den 17 november 2024 kl. 12.46 av Admin (diskussion | bidrag)
Hoppa till navigering Hoppa till sök

Klassen ZipArchive

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

Introduktion

Ett filarkiv som komprimeras med Zip-format.

Klassöversikt

class [[ZipArchive]] implements [[Countable]] {
    /* Konstanter */
    public const int CREATE;
    public const int EXCL;
    public const int CHECKCONS;
    public const int OVERWRITE;
    public const int RDONLY;
    public const int FL_NOCASE;
    public const int FL_NODIR;
    public const int FL_COMPRESSED;
    public const int FL_UNCHANGED;
    public const int FL_RECOMPRESS;
    public const int FL_ENCRYPTED;
    public const int FL_OVERWRITE;
    public const int FL_LOCAL;
    public const int FL_CENTRAL;
    public const int FL_ENC_GUESS;
    public const int FL_ENC_RAW;
    public const int FL_ENC_STRICT;
    public const int FL_ENC_UTF_8;
    public const int FL_ENC_CP437;
    public const int FL_OPEN_FILE_NOW;
    public const int CM_DEFAULT;
    public const int CM_STORE;
    public const int CM_SHRINK;
    public const int CM_DEFLATE;
    public const int CM_BZIP2;
    public const int CM_LZMA;
    public const int CM_ZSTD;
    public const int ER_OK;
    public const int ER_MULTIDISK;
    public const int ER_RENAME;
    public const int ER_NOENT;
    public const int ER_EXISTS;
    public const int ER_OPEN;
    public const int ER_MEMORY;
    public const int ER_WRONGPASSWD;
    public const int AFL_RDONLY;
    public const int AFL_IS_TORRENTZIP;
    public const int EM_AES_256;
    public const string LIBZIP_VERSION;

    /* Egenskaper */
    public readonly int $lastId;
    public readonly int $status;
    public readonly int $statusSys;
    public readonly int $numFiles;
    public readonly string $filename;
    public readonly string $comment;

    /* Metoder */
    public addEmptyDir(string $dirname, int $flags = 0): bool;
    public addFile(string $filepath, string $entryname = "", int $flags = 0): bool;
    public addFromString(string $name, string $content, int $flags = 0): bool;
    public extractTo(string $pathto, array|string|null $files = null): bool;
    public close(): bool;
    public getFromName(string $name, int $len = 0, int $flags = 0): string|false;
    public statName(string $name, int $flags = 0): array|false;
    public setPassword(string $password): bool;
    public deleteName(string $name): bool;
}

Egenskaper

  • lastId - Indexvärdet för senast tillagd post (fil eller katalog).
  • status - Status för ZipArchive-arkivet.
  • statusSys - Systemstatus för ZipArchive-arkivet.
  • numFiles - Antal filer i arkivet.
  • filename - Filnamnet i filsystemet.
  • comment - Kommentar för arkivet.

Metoder

Lägg till och hantera filer

Lägg till en ny katalog i arkivet.

Lägg till en fil i ZIP-arkivet från angiven sökväg.

Lägg till en fil till ett ZIP-arkiv med dess innehåll.

Extrahera filer

Extrahera innehållet från arkivet till en angiven katalog.

Läs och hämta filer

Hämta innehållet från en post med dess namn.

Få detaljer om en post med dess namn.

Hantera lösenord och kryptering

Ange lösenord för det aktiva arkivet.

Ta bort filer

Ta bort en post i arkivet med dess namn.

Exempel

Skapa ett Zip-arkiv

<?php
$zip = new [[ZipArchive]]();
$filename = "./example.zip";

if ($zip->open($filename, [[ZipArchive::CREATE]]) !== TRUE) {
    exit("Kan inte skapa <$filename>\n");
}

$zip->addFromString("fil1.txt", "Detta är innehållet i fil1.\n");
$zip->addFile("/path/till/fil2.php", "fil2.php");
$zip->close();
echo "Arkivet $filename har skapats.\n";
?>

Extrahera innehåll från ett Zip-arkiv

<?php
$zip = new [[ZipArchive]]();
if ($zip->open('example.zip') === TRUE) {
    $zip->extractTo('./extraherad/');
    $zip->close();
    echo "Extrahering lyckades!\n";
} else {
    echo "Misslyckades med att öppna arkivet.\n";
}
?>

Läsa innehåll från en specifik fil i arkivet

<?php
$zip = new [[ZipArchive]]();
if ($zip->open('example.zip') === TRUE) {
    $content = $zip->getFromName('fil1.txt');
    echo "Innehåll i fil1.txt:\n$content\n";
    $zip->close();
} else {
    echo "Misslyckades med att öppna arkivet.\n";
}
?>


Sidslut

Orginalhemsidan på Engelska :https://www.php.net/manual/en/class.ziparchive.php
PHP Funktioner Funktionsreferens Komprimerings- och arkivtillägg Zip Funktioner


Det här är en maskinöversättning av PHP-manualen till svenska. Om du hittar fel är vi tacksamma om du rapporterar dem via formuläret som finns på https://www.linux.se/kontaka-linux-se/

Tack till Datorhjälp Stockholm som har sponsrat Linux.se med webbhotell.