Probleme mit Entpacken einer Zip datei

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

  • Probleme mit Entpacken einer Zip datei

    Hi!

    Ich möchte zwecks Bequemlichkeit :-) einen Upload einer Zip Datei mit anschliessendem automatischem entpacken ermöglichen.

    Das Script dazu gibt es ja überall:

    PHP-Code:
    <?php

    $ZipPointer 
    zip_open("bilder.zip");

    if(
    $ZipPointer)
    {
        while(
    $GezippteDatei zip_read($ZipPointer))
        {
            echo
    "Dateiname: ",
                
    zip_entry_name($GezippteDatei),
                
    "<br>",
                
    "Dategröße: ",
                
    zip_entry_filesize($GezippteDatei),
                
    " Bytes<br>",
                
    "Komprimierte Größe: ",
                
    zip_entry_compressedsize($GezippteDatei),
                
    " Bytes<br>",
                
    "Komprimierungsverhältnis: ",
                
    round((1-(zip_entry_compressedsize($GezippteDatei)/zip_entry_filesize($GezippteDatei)))*1001),
                
    "%<br><br>";

            if(
    zip_entry_open($ZipPointer$GezippteDatei"r"))
            {
                
    $FilePointer fopen(zip_entry_name($GezippteDatei), "w");
                
    fwrite($FilePointerzip_entry_read($GezippteDateizip_entry_filesize($GezippteDatei)));
                
    fclose($FilePointer);

                
    zip_entry_close($GezippteDatei);
            }
        }

        
    zip_close($ZipPointer);
    }

    ?>
    Nur leider funktioniert das bei mir nicht.

    Die Fehlermeldung lautet:


    Fatal error: Call to undefined function: zip_open() in /homepages/2/d165484323/htdocs/kurz/zip/entzipper.php on line 3

    Er kennt also die Funktion zip_open() nicht. Dies kann PHP wohl erst ab Version 5.

    Ich habe ein Hostingpaket bei 1und1. Dort habe ich die php.ini gecheckt und habe folgendes Ergebniss:

    PHP Version 4.4.7

    Registered PHP Streams: php, http, ftp, https, ftps, compress.bzip2, compress.zlib

    Meine Frage lautet: Was muss ich tun das das entzippen unter diesem Hostingpaket funktioniert?

    Habe leider keinerlei Erfahrungen im Konfigurieren des Servers ...

  • #2
    bei 1und1 muss die endung glaubsch php5 lauten damit der mit php5 parst ansonsten da ma anrufen...
    warum nicht einfach mit exec entzippen?
    ich glaub die zip-bibliothek ist nicht standartmäßig installiert
    sprich er kennt die funktion einfach nicht.
    (eine zip-bibliothek gibts auch für php4)
    Die Milch bleibt ranzig!

    Kommentar


    • #3
      Danke für die schnelle Antwort. Allerdings hilft Sie mir nicht weiter.

      Eigentlich liegt das Problem konkret daran, dass ich nicht weiss wie ich die zlib bibliothek auf meinem Server installiere!?!

      Die Datein einfach ins Root Verzeichniss zu übertragen ist wohl nicht de richtige Weg?!??

      Kommentar


      • #4
        Hast du überhaupt entsprechende Rechte? Du sprichst ja von einem Hostingpaket.

        Kommentar


        • #5
          Ich denke schon. Das "Hosting Paket" ist ein 1&1 Managed-Server L64.

          Kommentar


          • #6
            ha da haben wirs:
            managed-server bedeutet bei 1und1 leider nicht "Sie rufen an wir machens" sondern "sie rufen an haben einen wunsch - wir verweisen auf den paketumfang"
            sprich ini-änderungen pakete installieren accelerator und ähnliches sind bei 1und1 net gestattet...(außer bei root-servern natürlich)
            Die Milch bleibt ranzig!

            Kommentar


            • #7
              Ui ui ui, das überfordert echt mein Wissen ....

              Hab bei 1und1 angerufen, die haben gesagt in PHP5 geht und ich soll folgendes tun:

              Sie können beliebige Dateitypen als PHP5-Skripte parsen ("ausführen") lassen. Häufig besteht der Wunsch alle .php-Dateien als PHP5-Skripte auszuführen.

              Legen Sie dazu eine .htaccess-Datei ins Stammverzeichnis Ihrer Präsenz und tragen Sie folgendes ein (bzw. fügen Sie es einer bereits existierenden .htaccess-Datei hinzu):

              Script 1: .htaccess

              AddType x-mapp-php5 .php

              Die Änderungen wirken sich sofort aus. Analog sind natürlich auch mit x-mapp-php3 ein Mapping beliebiger Dateiendungen auf den PHP3-Parser möglich.

              Hab ich gemacht. Funktionieren tuts trotzdem nicht ...

              Was muss ich denn tun ausser als Dateiendung .php5 anzugeben?

              "Windows users need to enable php_zip.dll inside of php.ini in order to use these functions." ??

              Zumindest erhalte ich eine andere Fehlermeldung:

              Parse error: parse error, unexpected T_VARIABLE in /homepages/2/d165484323/htdocs/kurz/zip/entzipper.php5 on line 3
              Zuletzt geändert von DDogg; 04.06.2007, 12:13.

              Kommentar


              • #8
                Funktionieren tuts trotzdem nicht
                Immer noch selbe Fehlermeldung? Wenn ja, dann sag das doch, wenn nein, wie denn?

                "Windows users need to enable php_zip.dll inside of php.ini in order to use these functions." ??
                ist das ne windows kiste?

                Kommentar


                • #9
                  Fehlermeldung lautet jetzt

                  Parse error: parse error, unexpected T_VARIABLE in /homepages/2/d165484323/htdocs/kurz/zip/entzipper.php5 on line 3

                  und, japs, ist Windows drauf.

                  Eigentlich müsste das doch laufen jetzt?!? Der Code stimmt, PHP.net sagt für ZIP:

                  PHP 5.2.0 und später

                  Die Extension nutzt nun Funktionalität der » zlib von Jean-loup Gailly und Mark Adler.
                  Heisst das es geht?!
                  Zuletzt geändert von DDogg; 04.06.2007, 12:21.

                  Kommentar


                  • #10
                    PHP-Code:
                    $ZipPointer zip_open("bilder.zip"); 
                    das ist sicher nicht die angesprochene Zeile 3, oder? Lass dir nicht alles aus der Nase rausziehen, sonst biste ganz schnell auf die alleine gestellt.

                    Kommentar


                    • #11
                      sorry, ich suche paralell überall nach Lösungen und Antworten ...

                      Die entsprechende Zeile ist aber in der Tat:

                      $zip = zip_open("bilder.zip");

                      Eine Scriptfehler ist das aber nich. Er kommt mit zip_open() nich klar.

                      Hab auch mal ein "anderes" Script probiert und selber was geschrieben.
                      PHP-Code:
                      <?php5

                      $zip = zip_open("bilder.zip");

                      if ($zip) {

                         while ($zip_entry = zip_read($zip)) {
                             echo "Name:              " . zip_entry_name($zip_entry) . "\n";
                             echo "Actual Filesize:    " . zip_entry_filesize($zip_entry) . "\n";
                             echo "Compressed Size:    " . zip_entry_compressedsize($zip_entry) . "\n";
                             echo "Compression Method: " . zip_entry_compressionmethod($zip_entry) . "\n";

                             if (zip_entry_open($zip, $zip_entry, "r")) {
                                 echo "File Contents:\n";
                                 $buf = zip_entry_read($zip_entry, zip_entry_filesize($zip_entry));
                                 echo "$buf\n";

                                 zip_entry_close($zip_entry);
                             }
                             echo "\n";

                         }

                         zip_close($zip);

                      }

                      ?>
                      Ist im prinzip das gleiche, und er hängt eben immer am zip_open()

                      Kommentar


                      • #12
                        PHP-Code:
                        <?php5
                        autsch!!!

                        das stand oben noch nicht drin.

                        außerdem ist das natürlich ein scriptfehler und hat absolut nichts mit der genannten funktion zu tun. da kannst du der php-fehlermeldung schon glauben.

                        Kommentar


                        • #13
                          autsch ...

                          Bringt halt nichts wenn man alles unter Stress versucht irgendwie hinzubekommen.

                          Die Fehlermeldung bleibt also die gleiche

                          Fatal error: Call to undefined function zip_open() in /homepages/2/d165484323/htdocs/kurz/zip/entzipper.php5 on line 3

                          hmm ... Ich versuche halt immer den einfachsten Weg zu gehen, aber leider ist Zip Variante die einzigste um viele Bilder in einem Schritt mit einem Upload-Script hochzuladen.

                          Kommentar


                          • #14
                            also zu 1und1:
                            entweder du legst dieses .htaccess file an (hab ich damals auch für phtml usw machen müssen bei 1und1) oder du benennst die Datei *.php5

                            das heißt aber net das deine zip-bibliothek damit auch funktioniert
                            wie oben bei windows-kisten beschrieben....

                            (den script-fehler hat ja tobiaz nun für dich gefunden)


                            edit: wie gesagt mit exec kann man auch zippen und unzippen..
                            Die Milch bleibt ranzig!

                            Kommentar


                            • #15
                              Dan probier ich es mal mit exec.

                              ...


                              exec("unzip bilder.zip");

                              Fertig. Mehr nich. Und es geht! ... Ich grieg die Krise.
                              das war eigentlich zu einfach ...

                              Vielen Dank an euch alle für die tolle Hilfe!
                              Zuletzt geändert von DDogg; 04.06.2007, 14:13.

                              Kommentar

                              Lädt...
                              X