ZIP-Datei ?!

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • ZIP-Datei ?!

    Hi!

    hab mal ne frage wegen zip-datei packen und dann per
    download senden.

    hab derzeit nur nen anfang, komm aber net wirklich weiter damit, vielleicht kann mir ja einer helfen und sagen wie ich es hinbekomme das ich verschiedene bilder in einem verzeichnis in eine zip-datei packen kann und diese dann per download laden kann.

    hier der code:
    PHP Code:
    <?
    // Array, das die Filenamen enthält (Beispiel, später Variablen)
    $arr[0] = "bild1.jpg";
    $arr[1] = "bild2.jpg";

    // Anzahl der Einträge in $arr (Später automatisch ermitteln)
    $anz = 2;

    // Variable für Ausgabedatei
    $ausgabe = "MyOut.zip";

    // Kommando-String für Zip (als Kommandozeilen-Tool)
    $command = sprintf("c:\\tools\\zip a %s", $ausgabe);

    // Kommando-String um Eingabe-Dateien erweitern
    for( $i=0; $i < $anz; $i++ )
    {
       $command = sprintf("%s %s", $command, $arr[$i]);
    }
    // Kontrollausgabe
    echo $command;

    // Kommando ausführen
    exec($command);
    ?>
    jetzt sollte eigentlich, wie schon gesagt, der download starten mit den zwei bildern als inhalt.

    gruß
    profoli

  • #2
    Willst du das komprimierungsprogramm am server oder am pc starten ?
    Das Fluchen ist die einzige Sprache, die jeder Programmierer beherrscht. ;-)

    Comment


    • #3
      das programm soll auf dem server laufen!

      Comment


      • #4
        PHP Code:
        header("Content-type: application/octet-stream\nContent-Disposition: attachment; filename = \"zipdatei.zip\"\n");
        readfile("zipdatei.zip"); 
        [color="#334D7B"]"Los, lass uns loslegen! Hm ? Quatschen können wir hinterher immer noch!"[/color]
        [color="#9C5245"]"Aber Bommel, wir können jetzt nicht bumsen. Wir müssen doch erst den Kindern - ... "[/color]
        [color="#334D7B"]"Ja ja ja. Du willst immer nur das Eine. Buchstabenzeigen, Buchstabenzeigen - meine Gefühle sind dir wohl scheißegal."[/color]

        © Harald Schmidt

        Comment


        • #5
          Original geschrieben von Troublegum
          PHP Code:
          header("Content-type: application/octet-stream\nContent-Disposition: attachment; filename = \"zipdatei.zip\"\n");
          readfile("zipdatei.zip"); 

          wenn ich dies unter meinem script schreibe, bekomme ich ne fehlermeldung. muß ich vorher noch das verzeichnis einen anderen chmod geben ??

          Comment


          • #6
            @ Troublegum :

            Seit wann unterstützt PHP denn das Packen von Zip-Dateien ???

            Ich denk nur GZip-Kompression wird unterstützt, oder ????

            mfg DaPhreak
            If something's HARD to do,

            then it's not worth doing.
            (Homer J. (Jay) Simpson)

            Comment


            • #7
              @DaPhreak
              Also mit dem Script von ProfOli funktioniert das, das zippen selber wird dann nicht von PHP übernommen, sondern von der externen Anwendung.
              Damit lassen sich auch andere Kommandozeilenbefehle ausführen. z.B.
              [font=courier][color=darkblue]
              $command = "ping php-resource.de -n 1 > c:\ping.txt";
              exec($command);
              [/color][/font]
              Eine Augabe über PHP erfolgt dadurch aber nicht.
              Immer erst mal gucken, ob Benzin im Tank ist ...

              Comment


              • #8
                Zum Zippen würde ich eher auf Perl zugreifen.
                Da ist garantiert, dass es auf jedem Server läuft, der Perl unterstützt.

                siehe hier
                [color="#334D7B"]"Los, lass uns loslegen! Hm ? Quatschen können wir hinterher immer noch!"[/color]
                [color="#9C5245"]"Aber Bommel, wir können jetzt nicht bumsen. Wir müssen doch erst den Kindern - ... "[/color]
                [color="#334D7B"]"Ja ja ja. Du willst immer nur das Eine. Buchstabenzeigen, Buchstabenzeigen - meine Gefühle sind dir wohl scheißegal."[/color]

                © Harald Schmidt

                Comment


                • #9
                  Danke Troublegum!

                  Aber ich habe leider kaum Ahnung von CGI bzw. Perl.

                  Wie rufe ich die Datei auf, wie kann ich Variablen an diese Datei übergeben und wo muß die Datei liegen und welche Dateiendung brauch diese ??

                  Comment


                  • #10
                    Hm. Das sind ja gleich so viele Fragen auf einmal.

                    Aber ich habe leider kaum Ahnung von CGI bzw. Perl.
                    Nicht schlimm

                    Wie rufe ich die Datei auf
                    Wie eine .php Datei per Browser. Du kannst es auch includen (auch von PHP aus, mit file("http://script.pl"))

                    wie kann ich Variablen an diese Datei übergeben
                    Per GET: script.pl?var1=val1&var2=val2
                    oder Post.

                    wo muß die Datei liegen und welche Dateiendung brauch diese ??
                    Je nach Serverkonfiguration sind Perl Scripte nur in einem /cgi-bin Verzeichnis oder überall erlaubt. Dateiendungen sind überlicherweise .pl und .cgi


                    Ich habe das letztens auch gebraucht, ich habe es wie folgt gelöst:
                    PHP Script sucht alle Dateien für das Zip Archiv und schreibt die Pfade in eine Textdatei.
                    Das PHP Script ruft dann das Perl Script auf, das wiederum liest die Datei und packt die Dateien in ein Zip Archiv und dann gehts wieder ab mit php.
                    [color="#334D7B"]"Los, lass uns loslegen! Hm ? Quatschen können wir hinterher immer noch!"[/color]
                    [color="#9C5245"]"Aber Bommel, wir können jetzt nicht bumsen. Wir müssen doch erst den Kindern - ... "[/color]
                    [color="#334D7B"]"Ja ja ja. Du willst immer nur das Eine. Buchstabenzeigen, Buchstabenzeigen - meine Gefühle sind dir wohl scheißegal."[/color]

                    © Harald Schmidt

                    Comment


                    • #11
                      danke für deine hilfe.
                      aber irgendwie bin ich zu müde oder nicht in der lage die perl datei anzusprechen. bekomme nur fehlermeldungen.

                      die datei liegt im cgi-bin verzeichnis aber irgendwie bekomme ich nur fehlermeldungen beim aufruf der datei. ich weiß es net mehr weiter. eigentlich will ich nur verschiedene bilder aus dem verzeichnis big_bilder in der zip-datei packen und dann per download runterladen können.

                      vielleicht kanst mir ja doch nochmal weiter helfen ?! würd mich freuen!

                      Comment


                      • #12
                        stimmt der Pfad zum Perl Interpreter und hast du den korrekten Header ausgegeben ?

                        print "Content-type: text/html\n\n";
                        [color="#334D7B"]"Los, lass uns loslegen! Hm ? Quatschen können wir hinterher immer noch!"[/color]
                        [color="#9C5245"]"Aber Bommel, wir können jetzt nicht bumsen. Wir müssen doch erst den Kindern - ... "[/color]
                        [color="#334D7B"]"Ja ja ja. Du willst immer nur das Eine. Buchstabenzeigen, Buchstabenzeigen - meine Gefühle sind dir wohl scheißegal."[/color]

                        © Harald Schmidt

                        Comment


                        • #13
                          also den pfad zum perl interpreter habe ich wie folgt gesetzt:
                          #!/usr/bin/perl

                          (müßte eigentlich richtig sein, oder ??)


                          aber ich hab jetzt keine ahnung wie und wo ich den header setzen muß. wäre sper, wenn du mir vielleicht nen programmbsp. oder den code schrieben könntest ?!

                          Comment

                          Working...
                          X