Archive_Zip

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

  • Archive_Zip

    Hallo,

    ich verwende zum Erstellen einer Zip-Datei Archive_Zip von Pear. Das klappt soweit auch ganz gut, mein Problem ist nur, das das Script immer eine Ordner-Ebene zuviel mit in das Archiv packt.

    Beispiel:
    PHP-Code:
    $archive = new Archive_Zip("./exportdateien/archiv.zip");
    $archive->add("./exportdateien/ordner/); 
    Archive_Zip fügt sowohl das Verzeichnis "exportdateien" als auch "ordner" dem neuen Archiv hinzu. Ich möchte aber nur das Verzeichnis "ordner" dem Archiv hinzufügen.

    Ich habe es auch schon laut Dokumentation mit einer weiteren Parameterübergabe in add() versucht, leider ohne erfolgt.

    Es wäre sehr nett, wenn mir jemand helfen könnte.

    Viele Grüße,
    Daniel

  • #2
    Ich habe es auch schon laut Dokumentation mit einer weiteren Parameterübergabe in add() versucht, leider ohne erfolgt.
    der erfolgt also...

    zeig doch mal, was du versucht hast.

    Kommentar


    • #3
      Also ich habe es einmal so versucht:
      PHP-Code:
      $param[0] = 'no_compression';
      $param[1] = 'remove_path';
      $archive =new Archive_Zip("./exportdateien/archiv.zip");
      $archive->add("./exportdateien/order/"$param); 
      dann so
      PHP-Code:
      $archive =new Archive_Zip("./exportdateien/archiv.zip");
      $archive->add("./exportdateien/order/"'remove_path'); 
      oder so
      PHP-Code:
      $archive =new Archive_Zip("./exportdateien/archiv.zip");
      $archive->add("./exportdateien/order/"remove_path); 
      leider wurde in diesen Fällen kein Archiv mehr erstellt.

      Viele Grüße,
      Daniel

      Kommentar


      • #4
        Error Reporting voll aufgedreht und keine Fehler ?
        Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

        [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
        Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

        Kommentar


        • #5
          Das war auf jeden Fall mal ein Tipp wert.
          Ich habe folgendes Versucht:
          PHP-Code:
          $param[0] = 'remove_all_path';
          $archive =new Archive_Zip("./exportdateien/archiv.zip");
          $archive->add("./exportdateien/order/1"$param);
          echo 
          $archive->errorInfo(true); 
          Dann bekomme ich folgenden Fehler:
          PHP-Code:
          ARCHIVE_ZIP_ERR_INVALID_PARAMETER (-3) : Unsupported parameter with key '0' 

          Kommentar


          • #6
            Das war auf jeden Fall mal ein Tipp wert.
            Vernünftiges Debugging sollte eigentlich nicht einen extra Tipp benötigen
            Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

            [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
            Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

            Kommentar


            • #7
              PHP-Code:
              $param[0] = 'remove_all_path';
              $archive->add("./exportdateien/order/1"$param); 
              einmal ein arrayindex, einmal ein array?

              gruß
              peter
              Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
              Meine Seite

              Kommentar


              • #8
                einmal ein arrayindex, einmal ein array?
                Einmal erzeuge ich das Array mit dem Wert 'remove_all_path' an Position 0 und der Funktion übergebe ich es ohne Position.
                Das müsste aber so stimmen.

                Kommentar


                • #9
                  http://pear.php.net/package/Archive_...html#methodadd
                  mixed $p_params — An array of variable parameters and values.
                  '0' sehe ich im Abschnitt darüber bei den Namen möglicher Parameter nicht aufgeführt.
                  I don't believe in rebirth. Actually, I never did in my whole lives.

                  Kommentar


                  • #10
                    '0' sehe ich im Abschnitt darüber bei den Namen möglicher Parameter nicht aufgeführt.
                    Nachdem ich Deinen Satz mehrmals gelesen habe, habe ich folgendes ausprobiert:
                    PHP-Code:
                    $param['remove_all_path'] = true;
                    $archive =new Archive_Zip("./exportdateien/archiv.zip");
                    $archive->add("./exportdateien/order/1"$param); 
                    Und so funktoniert es.

                    Ich war davon ausgegangen, man übergibt ein Array mit dem gewünschten Operation, z.B:

                    PHP-Code:
                    $param[0] = "no_compression";
                    $param[1] = "remove_all_path"
                    Viele Grüße,
                    Daniel

                    Kommentar

                    Lädt...
                    X