ERLEDIGT
NEIN
NEIN
ANTWORTEN
5
5
ZUGRIFFE
17777
17777
EMPFEHLEN
-
Hallo!
Wer kann mir bitte helfen?
Eine .txt Datei mit beispielsweise folgendem Inhalt:
Abbe---->Günther---->Strasse---->Ort---->Land
Becker---->Boris----->Strasse---->Ort---->Land---->Telefon
Cullmann---->Carsten---->Strasse---->Ort---->Land----->Telefon---->Homepage----->Fax
Diese Datei möchte ich nun mit PHP zeilenweise einlesen.
Zudem möchte ich auch noch die Reihenfolge der Daten ändern. Z.B.:
Strasse---->Ort---->Land---->Günther---->Abbe etc.
Bei meinen Versuchen ergaben sich folgende Probleme:
Es wurde zeilenweise eingelesen, jedoch nur bis zu einem bestimmten Zeichen
und unvollständig. Die Ausgabe ist z.B. so:
Abbe---->Günther---->Strasse---->Ort---->Land
ris----->Strasse--->Ort---->Land---->Telefon---->Cullmann
Carsten---->Strasse..... Also ein durcheinander.
So sieht mein Programm aus:
<?php
$fp = fopen('export-auftrag.txt', 'r');
while (!feof($fp))
{
$zeile = fgets($fp,100);
$daten = explode("\t", $zeile);
echo "$daten[0]\t$daten[1]\t$daten[2]\t$daten[3]\t$daten[4]\t$daten[5]\t
$daten[6]\t$daten[7]\t$daten[8]<br>;
}
fclose($fp);
?>
Wie kann man das bitte realisieren
Vielen Dank für Eure Hilfe!Geändert von abi22 (11.10.04 um 11:31 Uhr)
-
mein Vorschlag ... benutze in Zukunft vernünftige CVS Trenner und achte auf konsistente Daten.
Das heißt :
Name,Vorname,Strasse,Ort
Name,,Strasse,Ort
Name,Vorname,,
Wenn du eine neue Zeile beginnst, diese aber weniger Inhalt hat müssen dennoch die
Trennzeichen vorhanden sein.
Zu deinem Problem :
Ich würde die Datei über file() einlesen, exploden, dann sortieren.
Gruß,
Nils
-
Hi,
nur auf den ersten Blick, aber ich vermute mal:
fgets($fp,100); <-- damit begrenzt Du die Zeilenlänge beim Einlesen auf 100 Bytes. Wenn Deine Zeile mehr Bytes enthält, wird sie notwendigerweise zerrissen.
Gruß
EDIT: hmm, wieder mal einen Tick zu spät.
Ansonsten: Wie Nils sagte - mit file() geht es sicher eleganter.
-
Das Problem ist nur, dass diese "Trenner" beim Export der Daten schon so eingefügt werden!
Also muss ich auch damit arbeiten. Und da diese Daten auch in eine Datenbank eingefügt werden sollen, und diese tabdelimitted arbeitet muss diese Form beibehalten werden.
-
Hab ne Frage könnte einer von euch mir mal eine Bsp.-Programm zeigen wie man das nach euren Vorstellungen lösen könnte.
-
12.10.04 13:21 #6Lukasz Tutorials.de GastzugangPHP-Code:
$datei=file("pafadzurdatei");
{
unset($inhalt,$eintrage);
for ($i=0;$i<count($datei)+1;$i++){ // Wir lesen die gesammte Datei in die Variable $inhalt
$inhalt .="$datei[$i]";
}
// Wir erzeugen einen array
$eintrage=explode('---->',$inhalt);
// so jetzt hast du die Einträge in einem array $eintrage[0] ist erster Eintrag
// $eintrage[1] der zweite usw.
}
// Du kannst auch alle ausgeben
// mittels count() kannst du zählen wieviel einträge eine Datei hat
for ($i=0;$i<count($eintrage);$i++){ //$i ist null so lange bis die anzahl im array erreicht ist
// im schrittakt +1 (++) bedeutet eine Variable wird um eins erhöht
echo "$eintrage[$i]<br>"; // da jetzt $i mal 0,1,2,3 bekommst du alle Einträge raus
}
PS
wegen Datei zeilenweise in Array einlesen!
$datei ist jetzt dann schon ein array mit den Zeilen!PHP-Code:$datei=file("pafadzurdatei");
Geändert von Lukasz (12.10.04 um 13:25 Uhr)
Ähnliche Themen
-
Datei zeilenweise einlesen - aber nicht die erste Zeile
Von FoolMoon im Forum Java GrundlagenAntworten: 2Letzter Beitrag: 13.02.10, 19:22 -
Datei Zeilenweise einlesen
Von dtm im Forum Javascript & AjaxAntworten: 4Letzter Beitrag: 02.08.09, 17:13 -
Datei Zeilenweise auslesen ok... Aber ich bekomme s nicht in ein Array
Von FBIagent im Forum C/C++Antworten: 6Letzter Beitrag: 15.12.05, 12:06 -
Datei zeilenweise einlesen
Von Shadow im Forum JavaAntworten: 2Letzter Beitrag: 10.10.04, 21:28 -
array in txt zeilenweise einlesen
Von cb_master im Forum PHPAntworten: 5Letzter Beitrag: 26.11.02, 20:07





Zitieren
Login






[PHP][Snippet] Array zu XML konvertieren