*BERND*: Dateien zippen

Hallo,

ich möchte Dateien, die vom User mittels einer <option>-liste ausgewählt wurden zippen.

Bisher habe ich es so:

<?php
system ('zip dateien.zip down/datei1.mp3');
?>

Mein/e Problem/e: Ich möchte mehrere Dateien in das Zip-Archiv hinzufügen und keine Statusmeldung auf dem Browser ausgeben, denn Zurzeit bekommt der Browser vom User so etwas:

adding: down/datei1.mp3 (deflated 73%)

Ich stelle mir dann das etwa so vor:

<?php
system ('zip -no_status_message dateien.zip down/datei1.mp3, down/datei2.wmv, down/datei3.wav');
?>

Gruß
*BERND*

  1. Hi

    Ich stelle mir dann das etwa so vor:

    <?php
    system ('zip -no_status_message dateien.zip down/datei1.mp3, down/datei2.wmv, down/datei3.wav');
    ?>

    PHP stellt dir diverse Funktionen zur Programmausführung bereit. Die Funktionen unterscheiden sich unter anderem dadurch, das die Standard Ausgabe unterschiedlich gehandhabt wird.

    Eine übersicht:
    http://ch2.php.net/exec

    gruss

    1. Hi,

      Eine übersicht:
      http://ch2.php.net/exec

      Irgendwie hilft mir das nichts. Ich suche nur den richtigen Syntax für das exteren Prgramm "zip". In deiner übersicht finde ich nur ein anderes Prgramm.

      Mir fehlt nur ein -parameter, weis nur nicht woher ich den bekomme.

      Gruß
      *BERND*

      1. Hi

        Irgendwie hilft mir das nichts. Ich suche nur den richtigen Syntax für das exteren Prgramm "zip". In deiner übersicht finde ich nur ein anderes Prgramm.

        Und es hat auch nicht geklingelt als du diese beiden Zeilen gelesen hast?

        [...]
        exec — Führt ein externes Programm aus
        [...]
        system — Führt ein externes Programm aus und zeigt dessen Ausgabe an.
        [...]

        Was den Syntax zu Zip angeht, gibt dir möglicherweise der Befehl "zip /?" oder "zip -h" oder so ähnlich auskunft.

        Denoch ist es eleganter Ausgaben gar nicht erst zuzulassen, wenn diese nicht erwünscht sind. D.h. du solltest zur ausführung von Zip eben nicht die Funktion 'system', sondern 'exec' verwenden. Warum das so ist, steht auf der Webseite die ich dir gepostet habe http://ch2.php.net/exec

        1. Hi,

          Und es hat auch nicht geklingelt als du diese beiden Zeilen gelesen hast?

          Leider nein, jetzt schon :)

          Ich habe es jetzt so gemacht:

          <?php
          exec('zip ../dateien.zip down/datei1.mp3');
          ?>

          Jetzt noch eine Frage: Wenn man diesen Befehl ausführt, wird ein Zip-Archiv mit den Dateien in einem Unterordner (in diesem Fall ist das "down") erstellt. Wie geht das ohne den Unterordner, also sofort ins Hauptverzeichnis?

          Gruß
          *BERND*

          1. Was den Syntax zu Zip angeht, gibt dir möglicherweise der Befehl "zip /?" oder "zip -h" oder so ähnlich auskunft.

          2. Hallo,

            <?php
            exec('zip ../dateien.zip down/datei1.mp3');
            ?>

            Jetzt noch eine Frage: Wenn man diesen Befehl ausführt, wird ein Zip-Archiv mit den Dateien in einem Unterordner (in diesem Fall ist das "down") erstellt. Wie geht das ohne den Unterordner, also sofort ins Hauptverzeichnis?

            so?
            exec('zip ../dateien.zip datei1.mp3');

            Jonathan

            1. Hallo,

              Hallo,

              <?php
              exec('zip ../dateien.zip down/datei1.mp3');
              ?>

              Jetzt noch eine Frage: Wenn man diesen Befehl ausführt, wird ein Zip-Archiv mit den Dateien in einem Unterordner (in diesem Fall ist das "down") erstellt. Wie geht das ohne den Unterordner, also sofort ins Hauptverzeichnis?

              so?
              exec('zip ../dateien.zip datei1.mp3');

              Jonathan

              Jonathan