Michael Schröpl: Zippen unter verschärften Bedingungen (Vers. 4.2.3)

Beitrag lesen

Hi Maik,

$aktion ="tar czf archiv/$projekt_ordnername.tar.gz data/$projekt_ordnername";
exec($aktion);

ich überlege mal ins Unreine:
Wenn Du statt "tar" eine Shell startest (also ein "exec" auf
"/bin/sh <pfadname>" machst), könnte mehr drin sein,
beispielsweise _dann_ ggf. auch eine Pipe zwischen "tar" und
"gzip" oder was auch immer, innerhalb des Shell-Skripts ...
Du mußt ja nicht in PHP bleiben. ;-)

in's Unendliche, aber vielleicht bin ich auch zu doof dafür...

Hm. Sieht nach relativen Pfadnamen aus.
Das ist im CGI/PHP/...-Kontext meistens nicht ganz ungefährlich.
Hast Du mal absolute Pfadnamen versucht?
(DOCUMENT_ROOT solltest Du via Environment verwenden können.)

Gzip ist dem Zip-Format ueberigens sehr aehnlich,
man kann halt einfach nur eine einzige Datei da 'rein packen.
dann ist das ja wohl auch nichts für mich...

Es löst Dein Problem nicht alleine.
Wenn Du per "exec" etwas starten kannst, das zuerst "tar" und auf
dessen Ausgabe dann "gzip" anwendet, kannst Du "gzip" nutzen.

  1. *.tar.gz-Dateien temporär entpacken und anzeigen

Hm. Wie soll das funktionieren?

Bei "anzeigen" stelle ich mir vor, den Inhalt _einer_ Datei anzuzeigen.
Deine *.tar-Datei enthält aber nicht _eine_ Datei, sondern _viele_.
(Meinst Du vielleicht "das Inhaltsverzeichnis anzeigen"? Ggf. mit
Links auf Aufrufe zur Anzeige einzelner Dateien via anderem PHP-Skript?)

Viele Grüße
      Michael