PHP & Postfix Zeilenumbrüche
Re: PHP & Postfix Zeilenumbrüche
:) Ich habe jetzt, es handelt sich speziell um ein Board, den Versand auf SMTP umgestellt. Und siehe da - der Effect ist weg. :roll:
Wenn es noch jemad interessiert
"^M": das ist ASCII 13 - AKA <CR>(Carriage Return)
und ^M mit Zeilenumbruch(ASCII 10) dahinter ist: CRLF
Ich bin zur zeit nicht so: Lösung ist entweder alles auf Windows Zeilenumbrüche einstellen(CRLF) oder alles auf Unixzeilenümbrüche(LF).
Und ... SMTP hat normal CRLF ....
Für die Ungläubigen: Konsole auf und CTRL-M eintippen - jaja so ist das.
und ^M mit Zeilenumbruch(ASCII 10) dahinter ist: CRLF
Ich bin zur zeit nicht so: Lösung ist entweder alles auf Windows Zeilenumbrüche einstellen(CRLF) oder alles auf Unixzeilenümbrüche(LF).
Und ... SMTP hat normal CRLF ....
Für die Ungläubigen: Konsole auf und CTRL-M eintippen - jaja so ist das.
Re: Wenn es noch jemad interessiert
ich sehe da keinen Unterschied, bis auf die Anführungszeichen :roll:lucki2 wrote:"^M": das ist ASCII 13 - AKA <CR>(Carriage Return)
und ^M mit Zeilenumbruch(ASCII 10) dahinter ist: CRLF
Re: PHP & Postfix Zeilenumbrüche
Lieber Mensch, ich kann einen Zeilenumbruch schlecht hinmalen!
Ich wiederhole noch einmal CTRL-M ist ASCII 13 oder HEX 0D
Das ist kein Zeichen, sondern Waagenrücklauf/carriage Return. Den kann ich nicht hinmalen.
Mach doch mal eine Console auf und drück CTRL-M bzw STRG-M dann siehst du was das ist!
Hier ist eine ASCII Tabelle(war der erste HIT).
http://www.lookuptables.com/
Sagt dir "crlf" gar nichts?
Zeilenumbrüche:
UNIX (Linefeed) : LF, ASCII 10, HEX 0x0A
WINDOWS (Carriage Return Linefeed): CRLF ASCII 13,10 HEX 0x0D0A
manche MAC (Linefeed Carriage Return): LFCR ASCII 10,13 HEX 0x0A0D
Wenn Du hinschaust ist bei MAC und bei Windows ein Byte mehr!
Was machst Du nun mit dem Byte?
Auf der Console passiert das, was du oben ausprobieren kannst. Im Editor malt Dir Unix oft das ^M (CTRL-M) hin. Wenn Du umgekehrt auf Windows Unix Dateien anschaust, hast du aus gleichem Grund schwarze Kästchen im Text und die Zeilenumbrüche fehlen.
Bei Mail ist ein CRLF gefordert. Deswegen macht der SMTP keine Probleme. Das ist Dein Problem: Du mußt Dich für eine Konvention entscheiden und die durchziehen. Wo Du die Konventionenen durcheinanderschmeisst mußt Du schon schauen oder einfach in PHP umwandeln.
Das war ausführlich und ist Stoff des 1. Jahres Informatik in der Schule!
Ich wiederhole noch einmal CTRL-M ist ASCII 13 oder HEX 0D
Das ist kein Zeichen, sondern Waagenrücklauf/carriage Return. Den kann ich nicht hinmalen.
Mach doch mal eine Console auf und drück CTRL-M bzw STRG-M dann siehst du was das ist!
Hier ist eine ASCII Tabelle(war der erste HIT).
http://www.lookuptables.com/
Sagt dir "crlf" gar nichts?
Zeilenumbrüche:
UNIX (Linefeed) : LF, ASCII 10, HEX 0x0A
WINDOWS (Carriage Return Linefeed): CRLF ASCII 13,10 HEX 0x0D0A
manche MAC (Linefeed Carriage Return): LFCR ASCII 10,13 HEX 0x0A0D
Wenn Du hinschaust ist bei MAC und bei Windows ein Byte mehr!
Was machst Du nun mit dem Byte?
Auf der Console passiert das, was du oben ausprobieren kannst. Im Editor malt Dir Unix oft das ^M (CTRL-M) hin. Wenn Du umgekehrt auf Windows Unix Dateien anschaust, hast du aus gleichem Grund schwarze Kästchen im Text und die Zeilenumbrüche fehlen.
Bei Mail ist ein CRLF gefordert. Deswegen macht der SMTP keine Probleme. Das ist Dein Problem: Du mußt Dich für eine Konvention entscheiden und die durchziehen. Wo Du die Konventionenen durcheinanderschmeisst mußt Du schon schauen oder einfach in PHP umwandeln.
Code: Select all
$trans = array("x0D" => "");
$text = strtr($orig_text,$trans);
Last edited by lucki2 on 2006-10-05 03:29, edited 1 time in total.
Re: PHP & Postfix Zeilenumbrüche
wie süss ;)lucki2 wrote:Lieber Mensch
na denn mal schönen Dank. Sehr nett :)Das war ausführlich und ist Stoff des 1. Jahres Informatik in der Schule!
Die Frage ist aber: WO sind die falschen Steuerzeichen drin?
Ich hab ja schon alles zu Unix konvertiert.
Code: Select all
find /var/www/web1/html -type f -name .php | xargs dos2unix
Da sehe ich gar nix. Der Cursor "hopst" weiter. Das gleiche wie Enterlucki2 wrote:Mach doch mal eine Console auf und drück CTRL-M bzw STRG-M dann siehst du was das ist!
Re: PHP & Postfix Zeilenumbrüche
Da baust Du deine CR hinein und es hilft Dir gar nichts wenn Du nach "^M" grepst, das sind CRLF die nur mangels anderer Darstellungsmöglichkeit als ^M angezeigt werden. Oben ist ein php 2 Zeiler, den kannst Du über deine generierten Geschichten drüber laufen lassen.alle E-Mail welche von PHP Scripts geberiert werden
Ach, da siehst Du nichts und der Cursor hopst weiter ... Ich fühle mich gerade etwas auf den Arm genommen: Was meinst du was deine Ominösen leerzeilen auslösst. Nein eben nicht das gleiche wie Enter. Enter ist LF und da machst Du ein CR. Ja, da Hopst auch was weiter und Du siehst nichts. Genau das ist es. So und jetzt liess es bitte einfach so lange, bis Du es verstehst.Da sehe ich gar nix. Der Cursor "hopst" weiter. Das gleiche wie Enter
Das mit dem 1. Jahr Schule ist die Wahrheit. Oder wann war bei Euch ASCII(erzähl mir nicht, den lässt jemand aus)?
Re: PHP & Postfix Zeilenumbrüche
nee, eben nicht ALLE. Bei anderen Domains, gleicher Server, und bei Confixx Mails (auch php) ist das eben nicht so.alle E-Mail welche von PHP Scripts geberiert werden
danke. Werd ich machenSo und jetzt liess es bitte einfach so lange, bis Du es verstehst.
Sorry :-D ich bin 54 und hatte nie ASCII in der Schule. Nicht mal in der Lehre als Elektromechaniker.Oder wann war bei Euch ASCII(erzähl mir nicht, den lässt jemand aus)?
Aber ich weiss trotzdem, wovon du sprichst. ;)
Schau mal:
Dann hast Du einmal Unix Endungen und das andere mal Dos Zeilenendungen. Das kann ein Bug sein, Das kann aber auch ein gefixter Bug sein, das kann eine eine Änderung wegen Konsistenz sein, das kann eine Einstellung in der Konfiguration sein.
Schau mal z.B.:
http://www.google.com/search?hl=en&lr=& ... tnG=Search
Verzeih mir, wenn ich es Sinnvoller halte die CR selber herauszunehmen.
Schau mal z.B.:
http://www.google.com/search?hl=en&lr=& ... tnG=Search
Verzeih mir, wenn ich es Sinnvoller halte die CR selber herauszunehmen.
Und nochwas
Bei Deinem find vermute ich, daß Dir *.php statt .php weiter hilft?
Re: Und nochwas
hast du falsch vermutet ;) Das hat mir die Permissions durcheinander gebrachtlucki2 wrote:Bei Deinem find vermute ich, daß Dir *.php statt .php weiter hilft?
Re: PHP & Postfix Zeilenumbrüche
also do behauptest,
bringt Deine "permissions" durcheinander?
ok
redo from start
????
wahrscheinlich wolltest Du sagen :
Dein dos2unix hat neue Dateien angelegt: das find hat endlich funktioniert.
Code: Select all
find /var/www/web1/html -type f -name *.phpok
redo from start
????
wahrscheinlich wolltest Du sagen :
ahhhhh endlich macht das find etwas, was ich daran erkenne, dass dos2unix über die Dateien läuft und seine spuren hinterläßt. Das wiederum erkenne ich am Benutzer der Datei und an den Rechten
Dein dos2unix hat neue Dateien angelegt: das find hat endlich funktioniert.
Last edited by lucki2 on 2006-10-14 03:52, edited 1 time in total.
Re: PHP & Postfix Zeilenumbrüche
lucki2 wrote:also do behauptest,bringt Deine "permissions" durcheinander?Code: Select all
find /var/www/web1/html -type f -name *.php
Code: Select all
find /var/www/web1/html -type f -name *.php | xargs dos2unix