Lars: zip archiv mit php erzeugen

Hallo,

ich habe folgendes vor:
ich möchte zip archive on-the-fly erzeugen, sprich der user
kann sich auf der website die sachen aussuchen, die in das archiv sollen, dann sollen die dateien automatisch als zip (oder sonst einem archiv) gepackt werden und zum download angeboten werden.

Ich habe schon ein wenig gesucht, aber keine lösung gefunden, die bei mir funktionstüchtig war.

Vielleicht hatte ja schonmal jemand ein solches problem und hat da eine idee oder ein script für mich.

ich danke euch.

mfg

Lars

  1. Holladiewaldfee,

    Ich habe schon ein wenig gesucht, aber keine lösung gefunden, die bei mir funktionstüchtig war.

    Da fallen mir spontan zwei Lösungen ein:
    Entweder ein Tool auf der Kommandozeile starten, daß die Aufgabe übernimmt (exec()), oder sich bei PhpMyAdmin inspirieren lassen - soweit ich mich erinnere haben die da eine Funktion für geschrieben.

    Ciao,

    Harry

    --
      Schnee :) Skitour gefällig?
      http://harry.ilo.de/projekte/berge/
  2. Moin moin,
    mit PclZip 2.1 kannst du auch Archive erstellen.
    http://www.phpconcept.net/pclzip/index.en.php

    Nachdem zip-Erstellen schickst du es per header() und readfile() an den User.
    http://de2.php.net/manual/en/function.header.php  <<-- Dort in den Kommentaren findest du gute Beispiele.

    Dabei solltest du darauf achten, das das dynamische Erzeugen des Zip-Archiv nicht zu lang dauert. D.h. die zu packenden Daten sollten nicht zu umfangreich sein.
    Was bringst es einem User, wenn er erstmal 10 Sekunden oder so auf den Download warten muss ? :-)

    Gruß
    Patrick

  3. mit "exec()" auf der kommandozeile hab ich bei sowas immer gut gearbeitet. was du allerdings bedenken solltest wäre ein 'cachen' (zwischenspeichern) der zip archive (erhöht geschwindigkeit, verringert CPU resourcen verbrauch). könntest sonst ein problem bekommen wenn mehrer hundert user alle auf einmal so ein zip archiv zusammenstellen wollen.