Zip-filer i PHP

October 5, 2008 · Posted in Udvikling 

At kunne håndtere zip-filer er meget anvendeligt. Hvis man fx vil gi’ ens brugerne mulighed for at downloade deres data. Eller hvis man gerne vil give de samme brugere mulighed for at uploade flere filer uden at skulle uploade dem enkeltvis (og uden at bruge et flash-plugin).

I PHP er det forbavsende let. Det eneste det kræver er at zip-modulet er indlæst.

Har i eksemplet opretter jeg en lipsum.zip og tilføjer filen lipsum.txt til den. Bemærk at jeg kalder filen for zlipsum.txt i zip-filen:

1
2
3
4
5
$zip = new ZipArchive();
if ($zip->open("lipsum.zip", ZipArchive::OVERWRITE)) {
    $zip->addFile("lipsum.txt", "zlipsum.txt");
    $zip->close();
}

Her ta’r jeg den samme lipsum.zip og pakker zlipsum.txt ud i samme bibliotek:

6
7
8
9
10
$zip = new ZipArchive();
if ($zip->open("lipsum.zip")) {
    $zip->extractTo("./", "zlipsum.txt");
    $zip->close();
}

For at checke om zip-funktionerne er tilgængelige kan man lave en:

1
2
3
  if (class_exists("ZipArchive")) {
     // ...
  }

Comments

Leave a Reply





  • Om websmed.dk

    Jeg hedder Morten, og jeg har udviklet webapplikationer siden slutningen af 90'erne.

    Jeg vil her dele ud af min erfaring, og med jævne mellemrum poste nogle tips og tricks, samt løsningsforslag på generelle dagligdags problemstillinger.

    Jeg har en forkærlighed for PHP og MySQL, hvorfor I nok vil se flest indlæg der vedrører den gren af webudvikling.

    Jeg har en anden blog af mere personlig karakter på mbn.dk, hvor I kan finde kontaktmuligheder m.m.

    Mine indlæg vil tit være baseret på problemstillinger i mit daglige virke, eller i mit eget firma MRLYTICS, hvor jeg sælger kundeundersøgelser samt kundedatabaser.

    Denne side er hostet hos slicehost.

  • Skrevet på Twitter