sam: zip mit PHP erstellen

Hi,

ich habe versucht ein ZIP-Archiv nach folgendem Vorbild zu erstellen:
http://de3.php.net/manual/de/ref.zip.php

Am Ende zeigt er mir einen Status von 11 an und das Archiv wird nicht angelegt. Nun habe ich keine Ahnung, was diese 11 bedeutet? Gibt es irgendwo eine Liste der Status-Codes mit deren Bedeutung?

Gruss
sam

  1. Hello,

    ich habe versucht ein ZIP-Archiv nach folgendem Vorbild zu erstellen:
    http://de3.php.net/manual/de/ref.zip.php

    Am Ende zeigt er mir einen Status von 11 an und das Archiv wird nicht angelegt. Nun habe ich keine Ahnung, was diese 11 bedeutet? Gibt es irgendwo eine Liste der Status-Codes mit deren Bedeutung?

    Welche PHP-Version?
    Welches Beispiel?

    Sonst noch Fehlermeldungen?

    Harzliche Grüße vom Berg
    http://bergpost.annerschbarrich.de

    Tom

    --
    Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
    Nur selber lernen macht schlau
    Ein Jammer ist auch, dass die Dummen so selbstsicher und die Klugen voller Zweifel sind. Das sollte uns häufiger zweifeln lassen :-)

    1. PHP-Version: 5

      Es geht um das erste Beispiel auf der Seite, nur dass ich nur mit addFile() arbeite.

      Sonst keine Fehlermeldungen.

      Ich denke der Fehler kommt dadurch, dass ich kein Zugriff auf die Datei habe. Ich weiss allerdings nicht warum.

      1. Hello,

        Es geht um das erste Beispiel auf der Seite, nur dass ich nur mit addFile() arbeite.

        Sonst keine Fehlermeldungen.

        Was hast Du denn für $thisdir eingesetzt?

        Harzliche Grüße vom Berg
        http://bergpost.annerschbarrich.de

        Tom

        --
        Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
        Nur selber lernen macht schlau
        Ein Jammer ist auch, dass die Dummen so selbstsicher und die Klugen voller Zweifel sind. Das sollte uns häufiger zweifeln lassen :-)

        1. Hello,

          Es geht um das erste Beispiel auf der Seite, nur dass ich nur mit addFile() arbeite.

          Sonst keine Fehlermeldungen.

          Was hast Du denn für $thisdir eingesetzt?

          Wenn Du Dein Error_Reporting scharf gemacht hättest, würdest Du sowas wie:

          Notice: Undefined variable: thisdir in /home/tom/web/php5/zip/zip_file.php on line 13
          numfiles: 2 status:11

          bekommen

          Ich habe allerdings das ganze Beispiel eben durchlaufen lassen.

          Harzliche Grüße vom Berg
          http://bergpost.annerschbarrich.de

          Tom

          --
          Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
          Nur selber lernen macht schlau
          Ein Jammer ist auch, dass die Dummen so selbstsicher und die Klugen voller Zweifel sind. Das sollte uns häufiger zweifeln lassen :-)

          1. Hi,

            error-reporting ist bei mir drin, aber er spuckt nichts aus.
            $this-dir sieht bei mir so aus: "/var/www/bla/files"

            Wichtig ist ja, dass ich safe-mode=on habe :X

            Wie kann ich damit aber auf meine Datei zugreifen? Ein file_get_contents() funktioniert ja auch nicht?

  2. Hello,

    ich habe das Beispiel nochmal ein bisschen umgebaut, dann wird es klarer, was gemeint war...

    so funktioniert es auch.

    <?php   ### zip_file2.php ###

    $zip = new ZipArchive();
    $filename = "./test112.zip";

    if ($zip->open($filename, ZIPARCHIVE::CREATE)!==TRUE)
    {
        exit("cannot open <$filename>\n");
    }

    $zip->addFromString("testfilephp.txt" . time(), "#1 This is a test string added as testfilephp.txt.\n");
    $zip->addFromString("testfilephp2.txt" . time(), "#2 This is a test string added as testfilephp2.txt.\n");

    $filename2 = 'too'.time().'.php';
    file_put_contents($filename2,"<?php\necho str_repeat('hello php user',10000); ?>");

    $thisdir = dirname(__FILE__);

    $zip->addFile($thisdir.'/'.$filename2, "/testfromfile.php");

    echo "numfiles: " . $zip->numFiles . "\n";
    echo "status:" . $zip->status . "\n";

    $zip->close();
    ?>

    Harzliche Grüße vom Berg
    http://bergpost.annerschbarrich.de

    Tom

    --
    Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
    Nur selber lernen macht schlau
    Ein Jammer ist auch, dass die Dummen so selbstsicher und die Klugen voller Zweifel sind. Das sollte uns häufiger zweifeln lassen :-)