PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : zeilenumbrüche gehen verlohren bei cat unter php -> shell_exec()



arvidflow
09.08.10, 11:13
hallo,
noch ein probelm:
ich versuche folgendes in einem php-script:


echo shell_exec("cat /pfad/zur/datei");

problematischer weise gehen dabei alle zeilenumbrüche verlohren, was nicht sein soll.
was kann man tun?

arvidflow
09.08.10, 11:26
ok, ich hab auch wieder zu früh gefragt, hatte aber eben erst die rettende idee. lösung:


str_replace('$','</br>',shell_exec("cat -E /pfad/zur/datei"));

-E sorgt dafür, dass alle zeilenumbrüche als $ ausgegeben werden und dieses wird dann in einen zeilenumbruch umgewandelt mittels str_replace.

arvidflow
09.08.10, 11:39
ok, klarer fall von zufrüh gefreut. das problem besteht auch noch an anderer stelle:


echo shell_exec("du -hsc /pfad/zu/ordner/*/*");

hier wird auch alles hintereinander weggeschrieben, ich hätte aber gern eine übersichtliche liste. eben habe ich das problem ja nicht wirklich ansich gelöst, aber eine derartige lösung würde mir hier auch reichen. das resultat zählt.

m.o.o.
09.08.10, 13:46
Ausgabe erfolgt durch einen Webserver, oder?
Stehen in der HTML-Datei die Zeilenumbrüche?
Vielleicht hilft es, die Ausgabe in <pre>-Tags zu setzen.

403
10.08.10, 01:11
ich denke es liegt an echo vs. echo -n

m.o.o.
10.08.10, 07:07
ich denke es liegt an echo vs. echo -n

Das echo des TE ist aber das von PHP (soweit ich das verstanden habe)...

arvidflow
10.08.10, 11:21
danke, ich konnte es mit <pre> klären :-)

403
10.08.10, 19:24
Mist ;) Ok, gut das es geklärt werden konnte.