URL: https://www.overclockers.at/coding-stuff/big_php_problem_96654/page_1 - zur Vollversion wechseln!
Hi there,
ich hab ein Problem mit PHP, ich hab folgendes Script von Windows 2000 auf Windows XP portiert, aber jetzt gibts ein Problem, denn ich hol mir die Dateinamen aus einer TXT Datei, leider werden die \n nicht ersetzt, zumindest siehts so aus.
Script:
Code: PHP<?php $name = "datei.txt"; $source = fopen($name, "r"); $data = fgets($source, 1024); $data = ereg_replace("\n", "", $data); $fa = fopen($data, "r"); while(!feof($fa)){ $zeile = fgets($fa, 1024); echo("$zeile<br>"); } fclose($source); fclose($fa); ?>
Vermutlich ist werden in der Datei $name die Zeilen nicht mit \n sondern \r\n unterbrochen?
Ists nicht easier mit
(oder so, pseudokot).Code: PHPforeach (file($name) as $line) { echo join("<br>", file($line)); }
Jo es is der \r\n ! Danke !
Was hat das \r denn da zu suchen ? Bzw wozu ist es da ?
\r = Return
Zitat von bBU.CyTrobIcWas hat das \r denn da zu suchen ? Bzw wozu ist es da ?
geht ned nl2br()? is viel simpler...
kommt iirc von da schreibmaschine, bzw. den ersten druckern...Zitat von RingdingDas fragst du am besten die Erfinder von MS-DOS persönlich. Wahrscheinlich wissen sie's selber nicht.
Leider ist diese unglückliche Wahl bis heute ein permanentes Ärgernis.
Das kostet die Wirtschaft sicher viel mehr Geld als alle Viren zusammen
das kannst aber sicher nicht nur microsoft zuschreiben, die wollten sich halt alle voneinander distanzieren, is wie bei allen anderen programmen, wo die entwickler lieber ein langsameres und unübersichtlicheres dateiformat gewählt haben, nur um der konkurrenz das auslesen dieser zu erschweren...Zitat von RingdingLeider ist diese unglückliche Wahl bis heute ein permanentes Ärgernis.
Das kostet die Wirtschaft sicher viel mehr Geld als alle Viren zusammen
wär aber super wenn die es verbessern würden ;9 dan nläuft bei größeren datenmengen sicher eetwas schneller...
Gordon
hehe da habt ihr wohl recht, von der schreibmaschine sind wir ja schon längst weg
achja, bei 95 / 98 / 2000 reicht ein "\n" nur bei friggin XP muss ich "\r\n" angeben ?
dank euch für die vielen antworten
Nein, ist unter XP genauso wie unter allen bisherigen DOSen. Vielleicht wurde es einfach nur beim Kopieren auf das XP System umgewandelt, ohne dass du es bemerkt hast, sodass du jetzt Probleme am XP hast.
jo maybe ... wahrscheinlich
hmmmm warum macht der das nicht ? Er mecker die Variable an.
Code: PHP$vor = "$source_pfad = ereg_replace(\"\\n\", \"\", $source_pfad);"; $vor = "$source_pfad = ereg_replace(\"\\r\\n\", \"\", $source_pfad);"; $zeile = ereg_replace("$vor", "$nac", $zeile);
also, ich werd' aus deinem code nicht ganz schlau - auf jeden fall is da ein echt grober fehler drin...
overclockers.at v4.thecommunity
© all rights reserved by overclockers.at 2000-2025