BIG PHP Problem
bBU.CyTrobIc 24.10.2003 -
19:12 1800
24
bBU.CyTrobIc
#include "billrulz.h"
|
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: <?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);
?>
Ausgabe im Browser: Warning: fopen(sehen1.txt ): failed to open stream: Invalid argument in c:\programme\apache\apache\htdocs\test.htm on line 12 ...wobei die PHP und Apache Versionen gleich sind, weiss hier jemand abhilfe, ist ech dringend !!! Dank euch schonmal.
|
Rektal
Here to stay
|
Vermutlich ist werden in der Datei $name die Zeilen nicht mit \n sondern \r\n unterbrochen? Ists nicht easier mit foreach (file($name) as $line) { echo join("<br>", file($line)); }
(oder so, pseudokot).
|
bBU.CyTrobIc
#include "billrulz.h"
|
Jo es is der \r\n ! Danke !
Was hat das \r denn da zu suchen ? Bzw wozu ist es da ?
|
Sticker
Big d00d
|
\r = Return
|
Ringding
Pilot
|
Was hat das \r denn da zu suchen ? Bzw wozu ist es da ? Das fragst du am besten die Erfinder von MS-DOS persönlich. Wahrscheinlich wissen sie's selber nicht.
|
Brother Quintus
(!) o_O :O ^_^
|
geht ned nl2br()? is viel simpler...
|
watchout
Legendundead
|
Das fragst du am besten die Erfinder von MS-DOS persönlich. Wahrscheinlich wissen sie's selber nicht. kommt iirc von da schreibmaschine, bzw. den ersten druckern... \r -> wagenrücklauf, damit tätst aber noch nicht in der nächsten zeile schreiben \n -> neue zeile, alleine würdest aber zb. in der spalte 30 weiterschreiben, statt am anfang so gesehn, hat windows die logischste variante gewählt (unix -> \n, mac -> \r) @quintus: eh... nl2br() nimmt immer die lokalen einstellungen...
|
Ringding
Pilot
|
Leider ist diese unglückliche Wahl bis heute ein permanentes Ärgernis. Das kostet die Wirtschaft sicher viel mehr Geld als alle Viren zusammen 
|
watchout
Legendundead
|
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...
|
Brother Quintus
(!) o_O :O ^_^
|
wär aber super wenn die es verbessern würden ;9 dan nläuft bei größeren datenmengen sicher eetwas schneller... Gordon
|
bBU.CyTrobIc
#include "billrulz.h"
|
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
|
Ringding
Pilot
|
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.
|
bBU.CyTrobIc
#include "billrulz.h"
|
jo maybe ... wahrscheinlich 
|
bBU.CyTrobIc
#include "billrulz.h"
|
hmmmm warum macht der das nicht ? Er mecker die Variable an. $vor = "$source_pfad = ereg_replace(\"\\n\", \"\", $source_pfad);";
$vor = "$source_pfad = ereg_replace(\"\\r\\n\", \"\", $source_pfad);";
$zeile = ereg_replace("$vor", "$nac", $zeile);
wie kann ich das machen das er nicht versucht die Variablen in dem String auszugeben sondern die Variablennamen. thx nochmal hehe  und n8 ich guck morgen früh wieder rein !!! edit: der "\" vor \n und \r\n ist doppelt, wird hier nur nicht angezeigt.
|
watchout
Legendundead
|
also, ich werd' aus deinem code nicht ganz schlau - auf jeden fall is da ein echt grober fehler drin...
|