PHP-Web-Stat Support Forum
https://www.php-web-statistik.de/cgi-bin/yabb/YaBB.pl
Board (Deutsch) >> Vorschläge & Codeschnipsel >> Zeilenschaltung / end of line
https://www.php-web-statistik.de/cgi-bin/yabb/YaBB.pl?num=1296138994

Beitrag begonnen von hr3 am 27.01.11 um 15:36:34

Titel: Zeilenschaltung / end of line
Beitrag von hr3 am 27.01.11 um 15:36:34
Auf unterschiedlichen Systemen werden unterschiedliche Zeilenschaltungen eingesetzt.

Betriebssystem Abkürzung Code Hex Code Dezimal Escape-Sequenz
Unix, Linux, Mac OS X, AmigaOS, BSD, weitere LF 0A 10 \n
Windows, DOS, OS/2, CP/M, TOS (Atari) CR LF 0D 0A 13 10 \r\n


In den Text-Dateien der Statistik wird generell LF verwendet.

Das macht es manchmal schwierig mit einem Editor die Daten zu kontrollieren bzw. bei repair-Problemen den entsprechenden Satz zu finden und zu korrigieren.

Das folgende Programm kopiert eine Datei und konvertiert dabei die Zeilenschaltungen.


Code (]<?php
echo 'aufrufen mit URL-Parameter:'.'<br>';
echo '&nbsp; file = zu kopieren Pfad/Datei'.'<br>';
echo '&nbsp; eol = n oder rn, n=("\n"), rN=("\r\n")'.'<hr>';
if ((!isset($_GET['file'):

))||(!is_file($_GET['file'])))  {echo 'file ungültig'; exit();}
if ((!isset($_GET['eol']))||(($_GET['eol']!='n')&&($_GET['eol']!='rn'))) {echo 'eol ungültig'; exit();}
if ($_GET['eol']=='n') {$eol="\n";} else {$eol="\r\n";}
$o=$_GET['file'].'.'.$_GET['eol'].'.tmp';
file_put_contents($o,str_replace(array("\r\n","\n"),array("\n",$eol),file_get_contents($_GET['file'])));
echo $o.' erstellt';
?>


Z.B. als copy_file_change-eol.php im Verzeichnis stat/ angelegt und mit
http://.../stat/copy_file_change-eol.php?file=log/logdb.dta&eol=rn aufgerufen, wird die log/logdb.dta in log/logdb.dta.rn.tmp kopiert und "\r\n" als Zeilenschaltung verwendet. Jetzt kann diese z.B. auch auf einem Windows-Rechner mit einem Editor einfach durchsucht und bearbeitet werden. Beim Speichern darauf achten, das ANSI als Codierung verwendet wird. Ggf. anschließend durch ...?file=log/logdb.dta.rn.tmp&eol=r zurück konvertieren und gegen die Originaldatei austauschen.

Achtung: Vor solchen Aktionen immer für eine ausreichende Sicherung sorgen!

PHP-Web-Stat Support Forum » Powered by YaBB 2.5.2!
YaBB Forum Software © 2000-2012. Alle Rechte vorbehalten.