Page 2 of 2

Re: PHP & Postfix Zeilenumbrüche

Posted: 2006-10-01 16:33
by adjustman
:) 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

Posted: 2006-10-05 00:52
by lucki2
"^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.

Re: Wenn es noch jemad interessiert

Posted: 2006-10-05 02:21
by adjustman
lucki2 wrote:"^M": das ist ASCII 13 - AKA <CR>(Carriage Return)
und ^M mit Zeilenumbruch(ASCII 10) dahinter ist: CRLF
ich sehe da keinen Unterschied, bis auf die Anführungszeichen :roll:

Re: PHP & Postfix Zeilenumbrüche

Posted: 2006-10-05 03:10
by lucki2
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.

Code: Select all

$trans = array("x0D" => "");
$text = strtr($orig_text,$trans);
Das war ausführlich und ist Stoff des 1. Jahres Informatik in der Schule!

Re: PHP & Postfix Zeilenumbrüche

Posted: 2006-10-05 03:26
by adjustman
lucki2 wrote:Lieber Mensch
wie süss ;)
Das war ausführlich und ist Stoff des 1. Jahres Informatik in der Schule!
na denn mal schönen Dank. Sehr nett :)
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
und auch schon nach ^M gegreppt. Find nix mehr.
lucki2 wrote:Mach doch mal eine Console auf und drück CTRL-M bzw STRG-M dann siehst du was das ist!
Da sehe ich gar nix. Der Cursor "hopst" weiter. Das gleiche wie Enter

Re: PHP & Postfix Zeilenumbrüche

Posted: 2006-10-05 03:44
by lucki2
alle E-Mail welche von PHP Scripts geberiert werden
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.

Da sehe ich gar nix. Der Cursor "hopst" weiter. Das gleiche wie Enter
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.

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

Posted: 2006-10-05 03:58
by adjustman
alle E-Mail welche von PHP Scripts geberiert werden
nee, eben nicht ALLE. Bei anderen Domains, gleicher Server, und bei Confixx Mails (auch php) ist das eben nicht so.
So und jetzt liess es bitte einfach so lange, bis Du es verstehst.
danke. Werd ich machen
Oder wann war bei Euch ASCII(erzähl mir nicht, den lässt jemand aus)?
Sorry :-D ich bin 54 und hatte nie ASCII in der Schule. Nicht mal in der Lehre als Elektromechaniker.
Aber ich weiss trotzdem, wovon du sprichst. ;)

Schau mal:

Posted: 2006-10-05 04:34
by lucki2
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.

Und nochwas

Posted: 2006-10-05 04:51
by lucki2
Bei Deinem find vermute ich, daß Dir *.php statt .php weiter hilft?

Re: Und nochwas

Posted: 2006-10-14 01:57
by adjustman
lucki2 wrote:Bei Deinem find vermute ich, daß Dir *.php statt .php weiter hilft?
hast du falsch vermutet ;) Das hat mir die Permissions durcheinander gebracht

Re: PHP & Postfix Zeilenumbrüche

Posted: 2006-10-14 03:31
by lucki2
also do behauptest,

Code: Select all

find /var/www/web1/html -type f -name *.php
bringt Deine "permissions" durcheinander?
ok
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.

Re: PHP & Postfix Zeilenumbrüche

Posted: 2006-10-14 03:48
by adjustman
lucki2 wrote:also do behauptest,

Code: Select all

find /var/www/web1/html -type f -name *.php
bringt Deine "permissions" durcheinander?

Code: Select all

find /var/www/web1/html -type f -name *.php | xargs dos2unix
ja

Re: PHP & Postfix Zeilenumbrüche

Posted: 2006-10-14 03:54
by lucki2
dos2unix