Ich nutze seid langem ein Script welches Michael Reuter mir mal geschrieben hat. Es liest die Tabelle der Seite http://www.sachsen-anhalt.de/index.php?id=13439 aus und gibt mir eine Grafik für meine Feuerwehrseite aus (http://www.ffw-altmersleben.de. Die Im Kopf der Seite wo nun steht Datei konnte nicht geladen werden.
Es hat schon des öfteren Änderungen der Sachsen-Anhalt Seite gegeben und ich konnte das Script immer anpassen, doch jetzt stehe ich absolut auf dem Schlauch. Ich finde nicht den Grund warum es jetzt nicht fun ktioniert.
Vielleicht findet Ihr einen Fehler?
Danke schonmal.
Hier das Script:
Code: Alles auswählen
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Unbenanntes Dokument</title>
</head>
<body><?php
$waldbrandlesen ='http://www.sachsen-anhalt.de/LPSA/index.php?id=13439'; // öffnen und lesen der Seite
$waldbrand = file($waldbrandlesen); // Inhalt der Datei lesen und an ein Array übergeben. Hinweis bei einem Fehler liefert File den Wert False!
$zaehler1 = (count($waldbrand)); // Zeilen der Datei werden ermittelt
//print "$zaehler1<br>"; // Zur Kontrolle wieviele Zeilen die Datei enthält.
if(count($waldbrand)>10) // wenn die Datei mehr als 10 Zeilen hat wird abgefragt ob die Suchtexte enthalten sind.
{
$i = 1;
$hm = $zaehler1-1; //Alle Zeilen der Datei auslesen
$kreisname = "Anhalt-Bitterfeld, nördl. der Elbe"; // Suchstring eingeben Hinweis!! Aufgrund der variablen Datenstruktur muß die Waldbrand kennziffer von der nächsten Stadt aus ermittelt werden und das ganze dann zurückgerechnet werden.
// Übergabe der Werte an ein Array damit man flexibel bleibt was weitere Auswertungen betrifft. Den Code in und nach der While Schleife müßt Ihr halt anpassen je nach dem was Ihr vorhabt.
while($i < $hm){ //Zeilenweise Suche nach dem Suchbegriff
$waldbrandtabelle=$waldbrand[$i];
if (strpos($waldbrandtabelle,$kreisname)){ // Text wird gesucht.
$text=$waldbrand[$i];
}
$i++; // wiederholen bis der Suchbegriff gefunden wurde oder das Ender der Datei erreicht wurde.
}
}
else {
echo '<p>Daten konnten nicht geladen werden</p>'; // Falls die Seite nicht erreichbar ist.
}
$meinString = $text;
$findMich = $kreisname;
$pos = strpos($meinString, $findMich); // Die Position des Suchstrings wird ermittelt.
$wert = ($pos -48); // hier wird die Zahl anhand der Position errechnet. Achtung bei anderen Städten kann es sein das man 49 eintragen muß. Der Grund warum hier zurückgerechnet wird ist das in der zweiten Tabelle manchmal noch Werte vorzufinden sind.
$kennziffer = substr($text, $wert, 1);
$zahl = (int)$kennziffer;
if ($pos === false) {
echo "Daten konnten nicht geladen werden";
}
else {
// echo "Waldbrandstufe $kennziffer <br><br>"; // Textausgabe der Waldbrandkennziffer
//echo $text; // dient nur der Kontrolle es erfolgt die Ausgabe der ganzen Tabelle
if ($zahl === 0) {
echo '<p><img border="0" src="http://www.ffw-altmersleben.de/titel/waldbrand0.gif" width="450" height="45"></p>';
}
elseif ($zahl === 1) {
echo '<p><img border="0" src="http://www.ffw-altmersleben.de/titel/waldbrand.gif" width="450" height="45"></p>';
}
elseif ($zahl === 2) {
echo '<p><img border="0" src="http://www.ffw-altmersleben.de/titel/waldbrand2.gif" width="450" height="45"></p>';
}
elseif ($zahl === 3) {
echo '<p><img border="0" src="http://www.ffw-altmersleben.de/titel/waldbrand3.gif" width="450" height="45"></p>';
}
elseif ($zahl === 4) {
echo '<p><img border="0" src="http://www.ffw-altmersleben.de/titel/waldbrand4.gif" width="450" height="45"></p>';
}
}
?>
</body>
</html>