Problem mit Headern

  • Themenstarter Themenstarter webraccoon
  • Beginndatum Beginndatum
W

webraccoon

Hallo Leute,

mit diesem Code ...

header("Content-Type: application/force_download");
header("Content-Transfer-Encoding: binary");
$date = date("d.m.Y");
$datei = $_POST['datei'];
$file = $date."_".$datei.".csv";

header("Content-Disposition: attachment; filename=\"$file\"");

include_once "../inc/db_conn.inc";
$query = "SELECT * INTO OUTFILE '$file' FIELDS TERMINATED BY ';' OPTIONALLY ENCLOSED BY '\"' FROM ".$datei;
$queryData = $db->query($query);

...kann ich einen Export erstellen.
Lass ich die header() weg, so erfolgt der Export auch erfolgreich und ich kann die Datei als Excel-Datei öffnen. Lasse ich die header drinne, so wird die Datei zwar erstellt, allerding ohne inhalt und Excel meckert "Unabl to read file". Was ist daran falsch? Jemand eine Idee?

gruss
webraccoon
 
Wieso lieferst du den Inhalt als application/force_download aus? Wo hast du denn die Idee her? Liefer es mal als text/csv oder text/comma-separated-values aus.
 
Zuletzt bearbeitet:
hmm,

hab ich probiert, gleiche problem.

sieht jetzt so aus:
header("Content-Type: text/comma-separated-values");
$date = date("d.m.Y");
$datei = $_POST['datei'];
$file = $date."_".$datei.".csv";
header("Content-Disposition: attachment; filename=\"$file\"");

include_once "../inc/db_conn.inc";
$query = "SELECT * INTO OUTFILE '$file' FIELDS TERMINATED BY ';' OPTIONALLY ENCLOSED BY '\"' FROM ".$datei;
$queryData = $db->query($query);

ich bin mir nicht sicher, obdie reihenfolge der header-angaben so korrekt ist, und ob es überhaupt eine rolle spielt.

webraccoon
 
Ich hab grad mal in meiner mime.types nachgesehen und nichts fuer CSV gefunden.
Was vielleicht funktionieren koennte ware text/plain, koennte ich mir vorstellen.
 
hmm,

ich hatte auch schon mit verschiedenen Content-Typen experimentiert, die dann doch alle zum selben Ergebnis geführt haben. Es denke es liegt an dieser speziellen Kombination mit dem Select Statement. Habe nun etwas gefunden, das aus phpmyadmin sein soll.

Da wird unter Anderem dieser header verwendet: header("Content-Type: application/vnd.ms-excel");

gruss
webraccoon
 
naja,

das ergebnis sieht auf jedenfall so aus wie ich es haben will.


webraccoon
 
Wahrscheinlich kann Excel nur mit hauseigenen Media-Typen umgehen – eigentlich schade.
 
Zurück