Zip zap

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

  • Zip zap

    Tach mal wieder,

    gibt es standradmässig eine möglichkeit Dateien mit PHP zu zippen?
    Welche Extras braucht man oder sind diese meist schon in der Standarversionen von PHP vorhanden.
    Ich habe ein Paket bei 1&1 Puretec.

    Wenn ich z.B. einen Dump einer Tabelle mache, diesen dann ich einen Datei schreibe und in einem Verzeichnis zum Download ablege, möchte ich diese gerne gezipt haben, damit der Link nicht als Textfile im Browser aufgeht, sondern auch wirklich downgeloadet wird.
    Wie geht dem?

    Es grüßt der Andi
    Zuletzt geändert von andik2000; 12.04.2002, 12:22.

  • #2
    PHP muss mit --with-ziplib kompiliert sein, dafür benötigt man zzlib; PureTec dürfte das allerdings nicht haben....

    Bzgl. des Downloads kannst du dir abhelfen mit:

    PHP-Code:
    $dateiname 'Dateiname, unter dem gespeichert werden soll';
    header("Content-type: application/octet-stream\nContent-Disposition: attachment; filename = \"$dateiname\"\n"); 

    CAT Music Files

    Kommentar


    • #3
      Wo packe ich den Header denn rein?
      Linke ich dann quasi auf die PHP-Datei und die gibt mir den Content der txt-Datei zurück als Download?

      Noch ne Frage: Gibt es einen einfachen Befehl für einen Tabeeln Dump?
      Bin zu faul zum nachschlagen, ausserdem sitze ich noch bei der Arbeit ;-)

      Gruß&Dank, Andi

      Kommentar


      • #4
        beispiel...

        <a href="download.php?dateiname=datei.blub"
        PHP-Code:
        $dateiname = $_GET['dateiname'];
        if (
        $f fopen($dateiname)) {
          
        $inhalt fread($dateiname,10485760);
          
        fclose($f);
          
        header("Content-type: application/octet-stream\nContent-Disposition:     attachment; filename = \"$dateiname\"\n");
          echo 
        $inhalt;
        } else {
          echo 
        'Downloadfehler.';


        CAT Music Files

        Kommentar


        • #5
          Geht nicht! :-(
          Bringt mir ne Fehlermeldung in line 1

          Habe das ganze direkt über die URL aufgerufen.
          -------------
          $dateiname = "text.txt";

          if ($f = fopen($dateiname)) {
            $inhalt = fread($dateiname,10485760); // habe hier auch ...($f,10485760); probiert
            fclose($f);

            header("Content-type: application/octet-stream\nContent-Disposition:     attachment; filename = \"$dateiname\"\n");

            echo $inhalt;
          } else {
            echo 'Downloadfehler.';
          }
          -------------

          Any ideas?

          Kommentar


          • #6
            Ach, grobe Schlamperei meinerseits.. Es muss natürlich so heißen:
            PHP-Code:
            if ($f = fopen($dateiname,'rb')) {
              $inhalt = fread($f,10485760); 

            CAT Music Files

            Kommentar


            • #7
              Schade, nächster Versuch!

              Ich habe mal das ganze IF-Zeug rausgeschmissen.
              Zeigt mir jetzt eine Fehler in Line 3.
              Müsste diese sein:
              $inhalt = fread($f,10485760);

              Wenn ich zu Hause bin, schaue ich auch noch mal in mein schlaues Buch
              wie das mit dem Datei-Lesen funktioniert.

              ------------------------------------------
              $dateiname = "text.txt";
              $f = fopen($dateiname,'rb');
                $inhalt = fread($f,10485760);
                fclose($f);
                header("Content-type: application/octet-stream\nContent-Disposition:     attachment; filename = \"$dateiname\"\n");
                echo $inhalt;
              ------------------------------------------

              Gruß, Andi

              Kommentar

              Lädt...
              X