Martini: IANA und MIME-Types, so einfach geht das.

Beitrag lesen

Hallo,

Du bist dir aber schon darüber im Klaren, worin in PHP der Unterschied zwischen 'einfachen' und "doppelten" Anführungszeichen als Stringbegrenzern besteht? Oder doch nicht ...?

Nein, das war mir neu,dachte immer es ist egal ob ich Doppelte oder Einfache nehme solange ich das konsequent durchalte....

Also: Du hast eine Datei, die den Anforderungen entspricht? Dann kann es nicht so schwer sein - du musst doch "nur noch" das gleiche Format mit PHP erzeugen.

Tja sollt man meinen, aber meinereiner steht mit dem Kopf vor der Wand und kommt nicht durch...

Ja klar - dann zeig doch mal, was du bisher herausgefunden hast, und erkläre, warum *du* meinst, dass das eigentlich richtig sein müsste (auch wenn's vielleicht nicht stimmt). So erkennen wir am besten, wo deine Verständnisprobleme liegen.

Ok, here we go:
<?php
require('includes/db_verbindung.php');
header("Content-type: text/csv");

echo '"Feld"\n';

$query_text="SELECT inhalt from tabelle where con='j' order by inhalt ASC";

$result = mysql_query($query_text);
while ($myrow = mysql_fetch_array($result))
{
echo '"'.$myrow["inhalt"].'"\n';
}
?>

Habe beim Header Content-type:text/csv probiert bekomme dann aber die Meldung Datei kann nicht gefunden werden
bei Content-type:text/plain und Content-type: application/excel und Content-type: application/octet-stream gibt er mir das ergebniss wie folgt aus (wird nur bei application/excel zum speichern angeboten - aber in der Datei steht der Inhalt genauso wie bei der Ausgabe am Bildschirm also mit \n etc.):
"Feld"\n"inhalt1"\n"inhalt2"\n"inhalt3" etc.
(bzw. statt \n halt was ich probiere, also auch:
"inhalt1"\r"inhalt2"\r"inhalt3"
"inhalt1"\n\r"inhalt2"\n\r"inhalt3"
"inhalt1"CRLF"inhalt2"CRLF"inhalt3"

Klar könnte ich einfach
echo $name.'<br>'; schreiben und mir das ganze am Bildschirm ausgeben lassen und dann einfach in den Texteditor kopieren und dort als CSV speichern, aber diesen Zwischenschritt möchte ich gerne vermeiden wenn es geht.

Was habe ich übersehen? Wie muß ich die Linedelimiter einfügen, damit die nicht als Textgelesen werden, sondern als Steuerzeichen? Woran liegt es, dass bei text/csv die Datei angeblich nicht gefunden wird, bei den anderen header Angaben aber schon?

Danke für die Unterstützung

Grüße
Martin