Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] Zip Archive mit PHP erstellen - Kein Fehler, aber ZIP Archiv ist nicht da

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

  • [Erledigt] Zip Archive mit PHP erstellen - Kein Fehler, aber ZIP Archiv ist nicht da

    Hallo Leute,

    ich würde gerne ein ZIP Archive mit PHP erstellen und Bilder aus Ordnern da rein packen. Es wird "Kein Fehler" ausgegeben, es läuft also alles wunderbar durch. Nur existiert die Datei einfach nirgendwo auf dem Speicher.
    Wie kann das sein?

    Hier der Code
    PHP-Code:
    $zip = new ZipArchive();
    $res $zip->open("./bfsw_bilder/downloads/".$galeriename_arr->kategoriename.".zip"ZIPARCHIVE::CREATE);
    if(
    $res === TRUE)
    {
         
    $zip->addEmptyDir("download_fremdsprachenwettbewerb_bilder");
         while(
    $fotos mysql_fetch_object($hole_fotos_erg))
         {
              
    $zip->addFile("./bfsw_bilder/".$fotos->fotoname,$fotos->fotoname);
         }
         
    $zip->close(); 
         echo 
    "Kein Fehler";
    }
    else
    {
         echo 
    "Fehler";

    Um ein paar Fragen vorwegzunehmen.
    Ja, das Verzeichnis existiert.
    Ja, das PHP kann mit ZIP Archiven umgehen, es entpackt in einem anderem Script auch welche (außerdem kein PHP Fehler).
    Ja, $galeriename_arr->kategoriename ist mit einem String belegt.
    Ja, $fotos ist mit mehreren Fotos belegt.

    Ich hoffe ihr könnt mir weiter helfen.

    Danke!

    Gruß

    robat


  • #2
    Du arbeitest mit relativen Pfad, daher vermute ich den "Hänger" dort irgendwo...
    Über 90% aller Gewaltverbrechen passieren innerhalb von 24 Stunden nach dem Konsum von Brot.

    Kommentar


    • #3
      Hi.

      Auf den ersten Blick sieht der Code soweit sauber aus. Hast Du bei Dir evtl. auch ein

      PHP-Code:
      Error_Reporting(E_ALL); 
      drin stehen? Wenn ja, gibt es eine Fehlermeldung? Lass mal mögliche ZIP Fehlercodes zurückgeben (schauste hier: PHP: ZipArchive:pen - Manual).

      Wolf29
      while (!asleep()) sheep++;

      Unterschätze nie jemanden der einen Schritt zurück geht! Er könnte Anlauf nehmen.

      Kommentar


      • #4
        @lstegelitz

        Die Pfade stimmen aber? Absolute Angaben haben leider auch nicht geholfen. (Also /schule/deutsch/bfsw_bilder/downloads/...)

        Habe Error_Reporting auf E_ALL gesetzt, kein Fehler.
        Soll ich ZIPARCHIVE::CREATE z.B. durch ZIPARCHIVE::ER_NOZIP ersetzen und schauen was passiert?

        Danke

        mfg

        robat

        Kommentar


        • #5
          Naja, bau halt mal überall Fehlerbehandlung ein (Rückgabewerte der Funktionen auswerten)
          Über 90% aller Gewaltverbrechen passieren innerhalb von 24 Stunden nach dem Konsum von Brot.

          Kommentar


          • #6
            Also wenn ich ZIPARCHIVE::ER_INVAL oder ZIPARCHIVE::ER_SEEK statt ZIPARCHIVE::CREATE eingebe, kommt "Fehler" statt "Kein Fehler". Könnt ihr damit was anfangen?

            mfg

            Kommentar


            • #7
              Zitat von robat Beitrag anzeigen
              Also wenn ich ZIPARCHIVE::ER_INVAL oder ZIPARCHIVE::ER_SEEK statt ZIPARCHIVE::CREATE eingebe, kommt "Fehler" statt "Kein Fehler". Könnt ihr damit was anfangen?

              mfg
              Du vermischst die Error-Codes mit den Create-Flags!

              Was geben denn die Funktionen
              $zip->addEmptyDir
              $zip->addFile
              $zip->close

              zurück?
              Über 90% aller Gewaltverbrechen passieren innerhalb von 24 Stunden nach dem Konsum von Brot.

              Kommentar


              • #8
                Also:
                $zip->addEmptyDir ist 1
                $zip->addFile ist 1
                $zip->close ist gar nichts.

                (Wenn du die echo ausgabe meinst)

                Überprüft habe ich es so:
                $emptydir = $zip->addEmptyDir("download_fremdsprachenwettbewerb_bil der");
                echo $emptydir;

                Bei den anderen genau das gleiche.

                mfg

                robat

                Kommentar


                • #9
                  Zitat von robat Beitrag anzeigen
                  Also:
                  $zip->addEmptyDir ist 1
                  $zip->addFile ist 1
                  $zip->close ist gar nichts.
                  D.h. das Zip-Archive wird nicht geschlossen und damit auch nicht gespeichert.

                  Frag nach jeder Operation mal den Status ab ($zip->getStatusString())

                  Ansonsten: Erstell ein neues Script und brich den Code auf ein absolutes Minimum herunter (neues ZIP, eine Datei rein, speichern), am besten mit absoluten Pfaden. Verhält sich das genauso?

                  Ich kann selber nur raten: Eine oder mehrere Dateien, die ins ZIP sollen, sind nicht lesbar/kaputt, haben eventuell Sonderzeichen im Namen oder ähnliches...
                  Über 90% aller Gewaltverbrechen passieren innerhalb von 24 Stunden nach dem Konsum von Brot.

                  Kommentar


                  • #10
                    Also es kommt immer No Error.
                    Bis auf den letzten Schritt bei close:
                    Read error: No such file or directory

                    Der wundert mich nicht, denn es ist ja auch keine Datei da
                    Oder hat der was anderes zu bedeuten?

                    robat

                    Kommentar


                    • #11
                      Gibts vielleicht das Zielverzeichnis nicht oder fehlen darauf Rechte?
                      www.php-maven.org PHP und Maven vereint: Build/Deploy/Produktion/Konfiguration, Projekt Management, CI, PHPUnit, zahlreiche Frameworks
                      Twitter @ https://twitter.com/#!/mepeisen und Facebook @ http://t.co/DZnKSUih

                      Kommentar


                      • #12
                        Zitat von robat Beitrag anzeigen
                        Read error: No such file or directory
                        Naja, es ist ein Read error, für mich heisst das: mindestens eine Datei die in ZIP soll existiert nicht.
                        Über 90% aller Gewaltverbrechen passieren innerhalb von 24 Stunden nach dem Konsum von Brot.

                        Kommentar


                        • #13
                          @mepeisen

                          Doch das gibt es und beschreibbar ist es auch mit 0777.

                          @lstegelitz

                          Hm, müsste der Fehler dann nicht nach addFile kommen und nicht erst nach close?

                          Kommentar


                          • #14
                            Ich denke, die Klasse sammelt erstmal Informationen - geschrieben wird die Zieldatei dann erst, wenn das Archiv geschlossen wird.
                            Über 90% aller Gewaltverbrechen passieren innerhalb von 24 Stunden nach dem Konsum von Brot.

                            Kommentar


                            • #15
                              Also habs jetzt nochmal gemacht mit absoluten Pfaden und nur einem Bild.

                              Jetzt bekomme ich als letztes Failure to create temporary file: No such file or directory.

                              Hilft das weiter?

                              Kommentar

                              Lädt...
                              X