Quellcode einer HTML-Datei durchsuchen

ahykes

Erfahrenes Mitglied
Hallo Leutz,

habe eine HTML-Seite auf einem Server in einem anderen Gebäude und möchte diese nun auslesen um einen ganz bestimmten Wert an einer anderen Stelle wieder auszugeben. Also habe ich mir gedacht :"Nimmste das folgende Script"...aber das irgendwie nicht:

PHP:
$handle = fopen ("http://53.43.139.54/ll_sensor.html", "r");

while (!feof($handle)) {
   $buffer = fgets($handle, 1024);
   echo $buffer;
}
$x = strstr ( $handle, "Baumer" );
echo $x;
fclose ($handle);

Habt Ihr nen Plan?
 
Und warum geht es nicht?
Gibt es eine Fehlermeldung?

Vielliecht ist ja allow_url_fopen auf off gesetzt, sodass keine Remote-Dateien geoeffnet werden koennen.
 
Genau das habe ich mir auch gedacht. Aber das habe ich überprüft! GEHT! Aber er gibt mir die komplette Remote-Seite aus! :p
 
Ist ja auch klar, denn der folgende Abschnitt liest die Datei in 1024-Byte-Happen aus und gibt die ausgelesenen Happen gleich aus.
PHP:
while (!feof($handle)) {
   $buffer = fgets($handle, 1024);
   echo $buffer;
}
Diese Zeile
PHP:
$x = strstr ( $handle, "Baumer" );
ist totaler Unsinn, denn $handle ist ein Filehandle, es wird aber ein String erwartet.
Dort muss also alles was Du zuvor ausgelesen hast hin.
 
PHP:
$handle=fopen("http://53.43.139.54/ll_sensor.html","r");
$content="";
while (!feof($handle))
{
 $content.=fread($handle,1024);
}
fclose($handle);
In $content steht nun die gesamte Seite. Damit kannst Du dann machen was Du willst.

Aber das ist nicht ganz der Weg den ich gehen wuerde, ich wurde nicht mit fopen() arbeiten.
 
Ich wuensch Dir viel Erfolg.

Der Vollstaendigkeit halber verweise ich noch auf den Weg den ich gehen wuerde. Der Vorteil dabei ist, dass er auch funktioniert wenn allow_url_fopen=off ist, was es aus Sicherheitsgruenden eigentlich sein sollte.

PHP:
require_once("httpconnection.class.php");
$http=new httpconnection("53.43.139.54");
$data=$http->get("ll_sensor.html");
unset($http);
Hierbei steht die Seite nun in $data['body'].

Eine genauere Erklaerung dazu, und auch die genutzte Klasse gibt es hier.
 
Vielen Dank!

Ich habe aber schon durch Deinen vorherigen Thread Hilfe erhalten. Ich habe es so gemacht:

PHP:
		    //Software-Version holen
		    $cam_sensor = 'http://'.$set[3].'/ll_sensor.html';
            $handle=fopen($cam_sensor ,"r"); 
			$content=""; 
			while (!feof($handle)) 
			{ 
			 $content.=fread($handle,1024); 
			} 
			
			//Ergebniss nach String durchsuchen
			$x = strstr ( $content, "<p align=left><EM>" );
			//Ergebniss zurechtschneiden
			$number = substr($x, 0, -444);
			echo $number;
			fclose($handle);
Vielen Dank -> Status erledigt! :-)
 
Zurück