Seite einlesen ...

firstlord18

Erfahrenes Mitglied
Hallo,

ich möchte bestimmte Inhalte einer Seite auslesen.
D.h. es ist eine Voteseite. So, nun könnte ich natürlich die ganze Seite per file() oder so einlesen und dann das Ergebnis rausmatchen ...
Aber das dauert schon einige Zeit, bis die ganze Page eingelesen ist :\

Ist es eventuell Möglich, nur die Zeile einzulesen, die ich brauche?
Ich weiß, dass die 4 Zeilen davor so aussehen:

Code:
 <td align="center" width="30"><b>#</b></td>
<td width="390"><b>Person</b></td>
 <td align="center" width="40"><b>Votes</b></td>
<td align="center" width="40"><b>Platz</b></td>

So, und die nächste Zeile ist dann die, die ich einlesen müsste ...

ist das möglich?

Danke!
 
Hullo,
Ich lese in meinem Beispiel eine Textdatei aus, ich weiss nicht ob dir das trotzdem weiterhilft.
Die Datei text.txt sieht so aus (zur besseren Übersicht in ein Codefenster gepackt):
Code:
Ich
muss
hier
sechs
Zeilen
schreiben

Das PHP dazu so:

PHP:
$lesen = fopen("text.txt","r");
while (!feof($lesen)){
   			     $inhalt[] = fgets($lesen, 100000);
		           }
fclose($lesen);

echo $inhalt[4];

In der schleife wird durch fgets, bis an das Dateiende, jede Zeile in das Array $inhalt[] gepackt.
Ich denke aber das es auch so klar ersichtlich ist :D
Im Array kannst du jetzt auf jede beliebige Zeile zugreifen.

Evtl hilft es ja :)

Grüße
Lichtpilger
 
Zuletzt bearbeitet:
Hullo,
blinderweise hab ich erst grad mitgeschnitten das Du die Datei nicht erst ganz auslesen willst weil es zulange dauert :)

Wie groß muss eine Datei sein das sowas zu lange dauert ? :eek:

Grüße,
Lcihtpilger
 
hehe, sind ca 20kb.
Naja aber das ist ja nicht ne Datei auf meinem Server, sondern ne andere Seite!
Das dauert dann schon paar Sekunden...
Da das ganze aber schnell gehn muss, ist das eben zu lang ...
 
Hallo!

Ich gehe davon aus dass Du auf dem anderm Server kein Script ausführen kannst?!

Hmm, wie soll ich sagen......
Du willst in einem Buch auf Seite 47 etwas nachlesen.
Also stehst Du auf und nimmst das ganze Buch, dann fängst Du an zu blättern bis Du die Seite gefunden hast.

Mit PHP ist es nicht anders, es holt sich die Seite temporär und sucht dann nach der gewünschten Zeile, bis die Zeile gefunden wurde.

Du verstehst?
Du kommst also nicht drum rum die Seite erstmal als ganzes Stück zu holen.

Gruss Dr Dau
 
Mhm ich würde die Möglichkeit sehen die Seite in einer While Schleife Zeile für Zeile einzulesen mit fgets().

Dazu lässt man sich einen Zähler mitlaufen , wenn der Zähler nun 47 ist dann bricht man die While Schleife einfach ab.Nur müsste man da mit fopen() wieder die gesammte Datei öffnen , weiss nicht ob sie dann schon im Speicher ist.
 
Ansonsten ließt du die Datei mit file ein:
PHP:
$datei=test.txt;
$inhalt=file($datei);
echo 'Zeile 1:';
echo $inhalt[0];
echo 'Zeile 2:';
echo $inhalt[1];
echo 'Zeile 3:';
echo $inhalt[2];
 
Du könntest ja die Datei einfach 1x täglich vom anderen Server auf deinen kopieren lassen, und dann bei dir verarbeiten lassen dann würde nur der erste aufruf am Tag länger dauern.
 
Danke erstmal für die Antworten.

@Dr Dau: ja verstehe.

@Azi:_ ja weiß ich, hab ich im Moment auch so ...

@franzspam: hm, ne, da das sich jede Minute ändern kann und ihc imme rdie aktuellen Werte brauche!
 
Zurück