Download einer Exceltabelle aus gesichertem Bereich heraus

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

  • #31
    Ganz nebenbei fällt mir gerade auf, dass man die Datei zwar runterladen, aber nicht öffnen kann. Excel sagt dann "Kann Datei nicht öffnen".
    Das ist der Code:

    <?
    header("Content-length: " . filesize($pfad.$datei));
    header("Content-name: " . $datei);
    header("Content-Type: application/vnd.ms-excel");
    header("Content-Disposition: attachment; filename=$datei");

    readfile($pfad.$datei);
    ?>

    Hoffe noch auf Hilfe,
    DerTobi

    Kommentar


    • #32
      Erstelle eine Datei mit Excel, lade sie hoch, lade sie mit dem Script wieder runter.
      Kannst du sie öffen, vergleiche diese Datei und die bei der es nicht klappt mal in einem Texteditor.
      Kannst du sie nicht öffnen, lade sie ohne das Script (via FTP) wieder unter.
      Kannst du sie öffnen, liegts am Script, kannst du nicht, liegts am Uploaden

      Kommentar


      • #33
        Danke für die Kontruktive Antwort, aber:

        es liegt am Skript.
        Hab die runtergeladene Datei geöffnet und sie ist leer.
        Das Hochladen muss stimmen, weil ichs über Cuteftp gemacht habe.

        Aber was ist falsch am Skript ??? ;D

        Mfg,
        DerTobi

        Kommentar


        • #34
          Dass die Datei leer ist, hättest du gleich sagen sollen. Denn dadurch ist mein vorheriger Ansatz wirklich sinnlos.

          "Das Hochladen muss stimmen, weil ichs über Cuteftp gemacht habe."
          Ich war nicht schuld am Unfall, weil ich Auto gefahren bin?

          Schau dir die Datei mal auf dem Server an, vielleicht ist sie ja tatsächlich leer. Falls nicht: Wie groß ist sie? Steht dein Error-Reporting auf E_ALL?
          Gehts mit irgendeiner anderen Datei? Was enthält $pfad.$datei?

          Kommentar


          • #35
            Die Variablen waren leer, jetzt funktionierts. Ich hab nur noch ein Problem:

            Ich muss bevor der Form auf die neue Seite geht, in der Datenbank diesen Download speichern und dafür die Funktion
            <? speichern(){...} ?>
            aufrufen.

            Mein Formular sieht so aus:

            <FORM method="POST" target="_blank" action="mitgliederlistendownload.php">
            <input type="Hidden" name="pfad" value="../../../files/">
            <input type="Hidden" name="datei" value="mitglieder.xls">
            <div align="center"><INPUT type="submit" value="Mitgliederliste downloaden"></div>
            </FORM>

            Bevor ihr fragt, nein ich kann den Download nicht erst in der neuen Seite speichern, weil ich mich auserhalb der globalen Variablen, Sessions und Klassen aufhalte.

            Hoffe, das geht trotzdem irgendwie,

            Mfg,
            DerTobi

            Kommentar


            • #36
              speichern() soll als Parameter sicher die zu speichernde Datei (bzw. ihren Name) übergeben bekommen. Das geht nicht in dem Script, das die Form ausgibt. Denn wenn der User eine Datei angeben kann, ist dieses Script längst beendet. Also gehts nur in mitgliederlistendownload.php.

              Viel mehr kann ich dazu nicht sagen, denn ich begreife nicht, was du mit "weil ich mich auserhalb der globalen Variablen, Sessions und Klassen aufhalte" meinst.

              Kommentar


              • #37
                Das Problem ist, dass ich mich ausserhalb der Sessionverwaltung aufhalte und diese auch den Datenbankzugriff ermöglicht. Wenn ich die Sessionverwaltung als Header an mitgliederlistendownload.php mitübergebe, kann ich dort den Header nicht mehr ändern, sprich die Datei nicht mehr downloaden.

                Was ich eigentlich will ist:
                innerhalb der Datei downloads.php:
                - auf Buttondruck (o.ä.) Datenbankzugriff & öffnen der neuen Seite(mitgliederlistendownload.php; mit sicherer Übergabe von Pfad und Dateinamen)
                innerhalb der Datei mitgliederlistendownload.php:
                Ausgabe der .xls-Datei

                Hoffe jetzt ist es verständlicher,
                Mfg,
                DerTobi

                Kommentar

                Lädt...
                X