Bestimmte Zeilen einer Datei auslesen !??!?!!!?!?!

Bestimmte Zeilen einer Datei auslesen !??!?!!!?!?!| Datum: 22.10.2009 - 15:10 | Author: PCFreund

HejjHo ...
Mal noch ein kleines Problem:

Code


<?php
$show = $_GET['show'];
$array = file("ip.html");
if($show == "1")
{
echo $array;
}
else
{
echo $array[0];
echo "<br />";
echo $array[1];
echo "<br />";
echo $array[2];
echo "<br />";
echo $array[3];
echo "<br />";
echo $array[4];
echo "<br />";
echo $array[5];
echo "<br />";
echo $array[6];
echo "<br />";
echo $array[7];
echo "<br />";
echo $array[8];
echo "<br />";
echo $array[9];
echo "<br />";
}
?>



wenn ich auf ip.php geh dann geht alles wenn ich aber auf ip.php?show=1 geh dann zeigt er mir nur das word "Array" an ... also ich möchte dass der alle zeilen ausliest ...
dann hab ich noch ein problem ...
die zeilen werden so in die html datei gespeichert:
192.168.0.1
77.177.0.99
...
also sie werden nicht mit <br /> dorthin gespeichert ...
wenn ich jetz die datei aufrufen würde dann würde da stehen 192.168.0.177.177.0.99...
also ich würde mit dem php script jetzt nach jeder neuen zeile ein <br /> einfügen ... möchte meine html datei nicht zu sehr belasten deswegen kommt das <br /> erst später mit php rangefügt ...
danke schonmal ...

Re: Bestimmte Zeilen einer Datei auslesen !??!?!!!?!?!| Datum: 22.10.2009 - 15:10 | Author: Haruspex

Nun...
zuersteinmal brauchst du schon vorm auslesen eine Abgrenzung zwischen den IPs, sonst kannst du sie ja nicht trennen ;)
Als Trenner wären z.B. möglich: |, ; - + # * / & oder auch irgendwelche buchstaben^^

Nehmen wir mal | als Trenner, also sodass die HTML-Datei so aussieht:
192.168.0.1|77.177.0.99

Auslesen könnte man die Datei wie folgt...

Code



$verbindung=fopen('ip.html','r');
$ips=fread($verbindung, filesize('ip.html);
fclose($verbindung);



Nun hat man die Datei in $ips
Also exploden wir ne Runde:

Code


$iparray=explode("|",$ips);



Dann geben wir das array aus...

Code


for($i=0; $i < count($iparray); $i++) echo $iparray[$i]."<br>";



Ich hoffe ich konnte helfen ;)

Re: Bestimmte Zeilen einer Datei auslesen !??!?!!!?!?!| Datum: 22.10.2009 - 16:10 | Author: PCFreund

ich hab eine andere lösung gefunden danke !

:: Bearbeitet am Do 22. Okt 2009, 16:03 ::

ps: aber das ist eine gute lösung die du mir geschrieben hast ...
werde doch deines verwenden ;)

:: Bearbeitet am Do 22. Okt 2009, 16:05 ::

ps: aber ich habe gemeint die irgendwie mit row zu trennen da sind nämlich einzelne reihen und DIE möchte ich trennen ... also statt | eine zeile ...

Re: Bestimmte Zeilen einer Datei auslesen !??!?!!!?!?!| Datum: 22.10.2009 - 17:10 | Author: Haruspex

Naja... Da es sich um ne HTML-Datei handelt ist der Zeilenumbruch ja wahrscheinlich mit <br>. Also explode doch statt mit | mit <br>

Re: Bestimmte Zeilen einer Datei auslesen !??!?!!!?!?!| Datum: 22.10.2009 - 17:10 | Author: PCFreund

nein der zeilenumbruch ist nicht mit <br /> gemacht worden ...
ich hab ihn nicht so gemacht:

Code



text1
<br>
text2
<br>
text3
...



ich hab ihn so gemacht:
text1
text2
text3
damit ich das reihenweiße alles auslesen kann ... weil ich lese die ersten 10 zeilen mit $array[0] array[1] [2] ... aus ...
aber nu ist esauch schon egal ...

Re: Bestimmte Zeilen einer Datei auslesen !??!?!!!?!?!| Datum: 22.10.2009 - 17:10 | Author: Haruspex


Zitat von 3j128xzl

ich hab ihn nicht so gemacht:
text1


text2


text3
...
ich hab ihn so gemacht:
text1
text2
text3

Bis auf nen größeren Abstand seh ich da keinen Unterschied :P

Re: Bestimmte Zeilen einer Datei auslesen !??!?!!!?!?!| Datum: 22.10.2009 - 17:10 | Author: PCFreund

sorry habs mal editiert

Re: Bestimmte Zeilen einer Datei auslesen !??!?!!!?!?!| Datum: 22.10.2009 - 17:10 | Author: Haruspex

Dann steht ja aber der Kram trotzdem noch in einer Zeile - ist ja eine HTML-Datei ;)
Da musste wohl, denke ich, gescheite Begrenzer nehmen.

Re: Bestimmte Zeilen einer Datei auslesen !??!?!!!?!?!| Datum: 23.10.2009 - 04:10 | Author: Anonymous

Die Dateiendung hat nichts mit dem Inhalt zu tun.
Kann auch wie eine stinknormale Textdatei aufgebaut sein. Aus der Sicht von PHP ist eine HTML Datei nichts anderes als eine Textdatei. Die Dateiendung spielt nicht die geringste Rolle. Sie ist das absolut unwichtigste wenn man erkennen will was für Daten in der Datei enthalten ist.
Wenn die Dateiendung ".html" ist, könnte es trotzdem z.B. eine Bilddatei sein. Die meisten Programme erkennen das anhand der "Magic-Numbers" :) aber das spielt hier weniger eine Rolle.
Was ich sagen will, wenn PCFreund es Zeilenweise mit normalen Umbrüchen in die Datei gepackt hat, dann wird PHP es auch genau so Zeilenweise auslesen, und nicht so behandeln wie ein Browser es tun würde. PCFreund liegt hier ausnahmsweise mal vollkommen im recht :)

Wenn du jeden "Datensatz" in einer Zeile hast, dann kann man es wie folgt ausgeben:

Code


$lines = file("ip.html");
foreach($lines as $line)
{
echo $line;
}




die Variable $lines ist wie du sicherlich schon bemerkt hast ein "Array". Wenn du ein Array [i:3nlqo3we]probeweise[/i:3nlqo3we] ausgeben willst, dann benutze statt "echo" den Befehl print_r()

Code


$lines = file("ip.txt");
print_r($lines);



print_r() nutzt man oft und gerne zum [i:3nlqo3we]Debuggen[/i:3nlqo3we], um zu überprüfen ob ein Array das gewünschte Ergebnis hat.

mfg Balmung

Re: Bestimmte Zeilen einer Datei auslesen !??!?!!!?!?!| Datum: 23.10.2009 - 10:10 | Author: Haruspex


Zitat von ei2a9s1w

Die Dateiendung hat nichts mit dem Inhalt zu tun.
Deswegen werden ja auch .html Dateien ja auch vom Browser als HTML interpretiert und .txt nicht, ne? ;)

Naja gut, wenn PHP da keinen Unterschied macht, ist ja gut :)

Re: Bestimmte Zeilen einer Datei auslesen !??!?!!!?!?!| Datum: 23.10.2009 - 12:10 | Author: PCFreund

ich habs anders hinbekommen also dass der zeilenumbruch der nicht mit <br> gemacht worden ist mit <br> ersetzt wird ...

Re: Bestimmte Zeilen einer Datei auslesen !??!?!!!?!?!| Datum: 23.10.2009 - 13:10 | Author: SirZimt

[quote="PCFreund":1lvqjejb]ich habs anders hinbekommen also dass der zeilenumbruch der nicht mit <br> gemacht worden ist mit <br> ersetzt wird ...[/quote:1lvqjejb]

Also ich würde es mit <br /> machen das is dann au richtig |(

Re: Bestimmte Zeilen einer Datei auslesen !??!?!!!?!?!| Datum: 23.10.2009 - 18:10 | Author: PCFreund

[quote="SirZimt":1xh1fi8t][quote="PCFreund":1xh1fi8t]ich habs anders hinbekommen also dass der zeilenumbruch der nicht mit <br> gemacht worden ist mit <br> ersetzt wird ...[/quote:1xh1fi8t]

Also ich würde es mit <br /> machen das is dann au richtig |([/quote:1xh1fi8t]
ja hab ich ja auch nur verschluckt computerboard.eu die
<br />

Re: Bestimmte Zeilen einer Datei auslesen !??!?!!!?!?!| Datum: 23.10.2009 - 23:10 | Author: Anonymous

Die Datensätze mit einem html-break (br) zu trennen ist unfug. ein stinknormaler Zeilenumbruch reicht da aus.

Und Haruspex: Der Browser stellt eine HTML Seite nicht als HTML dar, weil es die Dateiendung .html hat. Die Dateiendung des Pfades spielt dabei nur selten eine Rolle (z.b. wenn man die Datei direkt über den Lokalen Pfad aufruft file:///pfad/zur/datei etc.). Über HTTP spielt einzig und allein der "Content-Type" welcher im HTTP-Header überliefert wird die entscheidene Rolle, um was für Daten es sich handelt. Schließlich werden Dateien die mit .php enden ja auch ziemlich oft als HTML-Dateien vom Browser interpretiert oder? und manchmal sogar als Bilddateien, oder wenn man "text/plain" als Content-Type angibt, sind es auf einmal Text-Dateien... Die Dateiendung ist wirklich super unwichtig in jeder hinsicht. Wer was anderes behauptet liegt einfach grundlegend Falsch, und hat die Technik hinter Dateisystemen nicht kapiert.
Wenn du eine Datei von bild.jpg in bild.png umgebenennst, dann wurde zwar die Dateiendung geändert, aber der Inhalt ist immer noch im jpeg Format.

mfg Balmung

Re: Bestimmte Zeilen einer Datei auslesen !??!?!!!?!?!| Datum: 23.10.2009 - 23:10 | Author: Haruspex

Dessen bin ich mir schon bewusst, stichwort Magic Numbers... ist zwar nicht mein Fachgebiet aber ne grobe Idee hab ich ;)

Ich hab das ganze aber wesentlich einfacher gedacht...
Wenn ich mit nem Editor ne .html-Datei erstelle wird sie vom Browser auch als HTML interpretiert, ich hab gehofft/angenommen php arbeitet genauso bzw. kommt zum gleichen Ergebnis.

Ist nun ja aber auch egal ;)

Re: Bestimmte Zeilen einer Datei auslesen !??!?!!!?!?!| Datum: 23.10.2009 - 23:10 | Author: Anonymous

Browser sind ja auch spezialfälle, da diese ne ganze Menge Dateiformate kennen müssen.
PHP kennt nicht ein einziges Dateiformat. Ist ja schließlich eine Scriptsprache, man muss das "erkennen von html" und anderen Formaten erst einprogrammieren, damit PHP es kennt.

Re: Bestimmte Zeilen einer Datei auslesen !??!?!!!?!?!| Datum: 24.10.2009 - 00:10 | Author: Haruspex

Und ich hab einfach mal gehofft, dass php das könnte, aber du hast mich ja eines besseren belehrt ;)