chrisi1002: CSV-Datei downloaden

Hallo!

ich erzeuge in einem php-skript eine datei und anschließend möchte ich diese auch downloaden.

...
}
fclose($fp)

header("Content-type: text/csv");
header("Content-Disposition: attachment; filename="telliste.csv"");
----
wenn ich jetzt dann den befehl readfile("telliste.csv) noch anhänge, bekomme ich dann den html-text des php-skripts und in diesem dann den csv-text verschachtelt.

was muss ich machen damit ich den reinen csv-text in der datei drinnen habe? neue seite aufrufen und in der dann den download starten?

  1. Hallo!

    ich erzeuge in einem php-skript eine datei und anschließend möchte ich diese auch downloaden.

    ...
    }
    fclose($fp)

    header("Content-type: text/csv");
    header("Content-Disposition: attachment; filename="telliste.csv"");

    wenn ich jetzt dann den befehl readfile("telliste.csv) noch anhänge, bekomme ich dann den html-text des php-skripts und in diesem dann den csv-text verschachtelt.

    was muss ich machen damit ich den reinen csv-text in der datei drinnen habe? neue seite aufrufen und in der dann den download starten?

    du könntest versuchen readfile("http://blabla.de/telliste.csv") zu lesen, weil er dann die datei nicht lokal liest, sondern über den http-wrapper, wodurch die datei geparst werden sollte, was das sein wird was du willst

    aber beim header würd ich eventuell application/bla angebe, damit auch garamtiert ein download-dialog kommt, und sich nicht etwa in windows im IE direkt der inhalt der csv angezeigt wird ;)

    viel spasws

    1. hi,

      wenn ich jetzt dann den befehl readfile("telliste.csv) noch anhänge, bekomme ich dann den html-text des php-skripts und in diesem dann den csv-text verschachtelt.

      Heißt das, dass telliste.csv seinerseits ein PHP-Script ist - oder dass du in deinem Download-Script auch noch HTML ausgibst?

      was muss ich machen damit ich den reinen csv-text in der datei drinnen habe?

      Wenn letztere Vermutung zutrifft - dann löse das Problem, dass ungewollt HTML ausgegeben wird, in dem du kein HTML ausgibst.
      Will sagen, überarbeite die Struktur deines Scriptes.

      gruß,
      wahsaga

      --
      /voodoo.css:
      #GeorgeWBush { position:absolute; bottom:-6ft; }
    2. du könntest versuchen readfile("http://blabla.de/telliste.csv") zu lesen, weil er dann die datei nicht lokal liest, sondern über den http-wrapper, wodurch die datei geparst werden sollte, was das sein wird was du willst

      habs ausprobiert, doch es funktioniert leider nicht weil die csv in einem passwortgeschützten ordner liegt

      1. hi,

        du könntest versuchen readfile("http://blabla.de/telliste.csv") zu lesen, weil er dann die datei nicht lokal liest, sondern über den http-wrapper, wodurch die datei geparst werden sollte, was das sein wird was du willst

        habs ausprobiert, doch es funktioniert leider nicht weil die csv in einem passwortgeschützten ordner liegt

        Auch das wäre kein Problem - HTTP and HTTPS Wrappers, Beispiel 3.

        gruß,
        wahsaga

        --
        /voodoo.css:
        #GeorgeWBush { position:absolute; bottom:-6ft; }
        1. Auch das wäre kein Problem - HTTP and HTTPS Wrappers, Beispiel 3.

          danke! aber nachdem ich mir deine antwort durchgelesen und das unnötige HTML entfernt habe, funktionierts jetzt.

          danke für die hilfe!