Online Unzippen (mit ZLib) ???

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Online Unzippen (mit ZLib) ???

    Hallo,

    ich habe nichts zu meinem Problem gefunden im Forum, zwar einiges zum Unzippen und dem üblichem Problem mit PHP nur ein File uppen zu können, vielleicht ist mein Problem auch zu einfach ?!
    Ok, mein Upload funzt wunderbar, jetzt möchte ich weder online Zippen, sondern einfach ein Zip-Archiv entpacken!!

    Das muss doch in irgendeiner Form mit Zlib Komprimierungsfunktionnen gehen, liege ich da richtig? http://de.php.net/manual/de/ref.zlib.php Mein Webspace unterstützt das auch.

    Aber ich scheitere nun an dem Code bzw. den Funktionen wie ich das einsetzen muss Wenn ich den alleeersten Beitrag nach der Doku unter obenstehendem Link mir angucke und z.B. die Funktion "uncompress" kopiere, geht gar nichts.. und ich weiß gar nicht wie ich die benutzen soll und ob ich da überhaupt richtig bin. In meinem ZIP-Archiv sind einfach nur Bilder, die in ein Unterverzeichnis entpackt werden sollen.

    Ich hab mir auch schon die ZIP-Funktionen (Lesezugriff) im Manual angeschaut, das scheint ja fast damit einfacher zu sein. Fällt diese Möglichkeit dann weg, wenn mein Provider ZZIPllib nicht untersstützt?!

    Danke für Eure Hilfe in irgendeiner Form!

  • #2
    Die gzlib ist für gz-Dateien (gnu zip: gzip/gunzip); das Format ist nicht kompatibel zu zip.

    gzip kann nur eine Datei packen; soll die ein Archiv sein, ist zusätzlich die Verwendung von tar/untar (Tape ARchive) nötig:

    tar dateiname.tar datei1 datei2 ... verzeichnis/* | gzip
    -->
    gunzip dateiname.tar.gz | untar
    mein Sport: mein Frühstück: meine Arbeit:

    Sämtliche Code-Schnipsel sind im Allgemeinen nicht getestet und werden ohne Gewähr auf Fehlerfreiheit und Korrektheit gepostet.

    Kommentar


    • #3
      D.h., dass ich auf jeden Fall die ZZIPllib-Bibliothek von Seiten des Providers eingebunden brauche oder ich kann das vergessen, nen Zipfile zu entpacken?

      Kommentar


      • #4
        entweder das oder exec + Kommandozeilen-Zipper
        mein Sport: mein Frühstück: meine Arbeit:

        Sämtliche Code-Schnipsel sind im Allgemeinen nicht getestet und werden ohne Gewähr auf Fehlerfreiheit und Korrektheit gepostet.

        Kommentar


        • #5
          entweder das oder exec + Kommandozeilen-Zipper
          kannst Du mir da mal ein einfaches Beispiel nennen? Das einzige, was ich über "exec" irgendwo mal gelesen hab, dass es auch nicht von jedem Provider unterstützt wird. Wie kann ich das herausfinden? thx

          Kommentar


          • #6
            Wenn der safe mode aktiv ist, geht exec i.A. nicht; da bräuchtest du also vermutlich einen eigenen Server.
            mein Sport: mein Frühstück: meine Arbeit:

            Sämtliche Code-Schnipsel sind im Allgemeinen nicht getestet und werden ohne Gewähr auf Fehlerfreiheit und Korrektheit gepostet.

            Kommentar


            • #7
              Aaahh ich hab jetzt rausgefunden, dass mein Webspace diese exec-Kommandos schonmal mitmacht

              Brauche ich wohl "exec" oder "shell_exec"?

              Mit phpinfo() habe ich rausgefunden, dass mein Server eine Linux-Kiste ist.

              Sehe ich das richtig, dass ich jetzt einfach nur noch den passenden Linux-Kommand brauche, wie ich ein Archiv entpacke? Wäre super, wenn Ihr mir weiter auf die Sprünge helfen könntent!! Danke!!

              Kommentar


              • #8
                exec tut´s.
                dann muss auf dem Server noch ein unzip für die PKZIP-Files (der komplette Name von .zip) installiert sein.
                (z.B. das von InfoZip; Beispiele zur Benutzung gibt´s in der unzip.txt im Archiv, und die FAQ solltest du dir auch mal anschauen)
                mein Sport: mein Frühstück: meine Arbeit:

                Sämtliche Code-Schnipsel sind im Allgemeinen nicht getestet und werden ohne Gewähr auf Fehlerfreiheit und Korrektheit gepostet.

                Kommentar


                • #9
                  Alsoooo,

                  ich bin ein ganzes Stück weiter, Danke!!! Aber noch nicht ganz am Ziel...

                  Ich hab das Infozip und auf meinen Webspace gepackt. Wenn ich mit

                  echo shell_exec("unzip -t meinzipaarchiv.zip");

                  teste, klappt das auch!! Es kommen Meldungen, dass alle Files im Archiv ok seien oder so ähnlich. Aber mit "-t" teste ich ja eben nur. Und da werde ich aus der angesprochenen unzip.txt nicht richtig schlau:

                  Beispielsweise
                  unzip -Z SGE_Aufstieg03.zip
                  bringt mir folgende Meldungen:

                  Archive: SGE_Aufstieg03.zip 246531 bytes 4 files drwx------ 2.0 fat 0 b- stor 15-Sep-03 18:32 SGE_Aufstieg03/ -rw------- 2.0 fat 73261 b- stor 15-Sep-03 17:22 SGE_Aufstieg03/SGE-Reutlingen 2003 Aufstieg 001.jpg -rw------- 2.0 fat 94605 b- stor 15-Sep-03 17:22 SGE_Aufstieg03/SGE-Reutlingen 2003 Aufstieg 002.jpg -rw------- 2.0 fat 78003 b- stor 15-Sep-03 17:22 SGE_Aufstieg03/SGE-Reutlingen 2003 Aufstieg 003.jpg 4 files, 245869 bytes uncompressed, 245869 bytes compressed: 0.0%
                  So ganz schlau werde ich da nicht draus. Sieht eigentlich ganz gut aus, aber aus meiner Sicht fehlt einfach der richtige unzip-Befehl.

                  P.S.: Mit Parameter "-d" kann ich wohl das Zielverzeichnis noch angeben. Ist da wohl der relative Pfad gemeint? Also, dass automatisch ein Unterverzeichnis angelegt wird, wo die Files reinextrahiert werden? Kein plan! Aber erstmal wärs super wenn das Entpacken überhaupt funzt.

                  DANKE!

                  Kommentar


                  • #10
                    Ok, aus irgendeinem Grund funzt es nun, und zwar mit
                    PHP-Code:
                    unzip sge.zip -d test 
                    Weiß nicht genau warum, vermute es lag am Archiv vorher, dass ich nicht einfach die Files gepackt hab sondern das Verzeichnis.

                    Mein letztes Prob zu diesem Thema ist noch, dass ich nun scheinbar mir die Rechte entziehe (mit o.g. Befehl) die entpackten Files im FTP zu löschen. Warum? und vor allem wie kann ich das wieder ändern??

                    Kommentar


                    • #11
                      Das hängt mit der umask zusammen.
                      Hiermit sollte das Problem behoben werden:
                      PHP-Code:
                      $umask umask();
                      exec ('unzip sge.zip -d test');
                      umask($umask); 
                      mein Sport: mein Frühstück: meine Arbeit:

                      Sämtliche Code-Schnipsel sind im Allgemeinen nicht getestet und werden ohne Gewähr auf Fehlerfreiheit und Korrektheit gepostet.

                      Kommentar


                      • #12


                        Hab's ausprobiert, das funzt nicht. Kann weder das neu angelegte Verzeichnis als auch die Dateien aus dem Archiv NICHT löschen.

                        Was kann ich machen, bzw. woran kann es noch liegen?

                        Kommentar

                        Lädt...
                        X