Moin,
habe die Migration von 2.0 auf 2.1 fast abgeschlossen. Alle Problemchen behoben bis auf folgendes:
Bei diesem Skript kommt die Fehlermeldung: Out of memory!
// Heavy Weather Datei auslesen
$i = 1;
$handle = fopen ("/HeavyWeather/currdat.lst", "r");
while (!feof($handle))
{
$buffer = fgets($handle, 4096);
$var[$i] = $buffer;
$i = $i + 1;
}
fclose ($handle);
// Variablen
$wpic = 39142 /*[.Heavy Weather\Wetterbild]*/;
$tend = 51540 /*[.Heavy Weather\Tenzdenz]*/;
$Tin = 12634 /*[.Heavy Weather\Innentemp]*/;
$Tout = 17444 /*[.Heavy Weather\Aussentemp]*/;
$Fin = 48962 /*[.Heavy Weather\Innenfeuchte]*/;
$Fout = 16189 /*[.Heavy Weather\Aussenfeuchte]*/;
$Tau = 55131 /*[.Heavy Weather\Taupunkt]*/;
$Tgef = 39979 /*[.Heavy Weather\gef_Temp]*/;
$Wgesch = 36493 /*[.Heavy Weather\Windgeschwindigkeit]*/;
$Wricht = 57431 /*[.Heavy Weather\Windrichtung_Grad]*/;
$Wrich = 30372 /*[.Heavy Weather\Windrichtung]*/;
$Rges = 20621 /*[.Heavy Weather\Regen_ges]*/;
$R24 = 47517 /*[.Heavy Weather\Regen_24h]*/;
$R1 = 17288 /*[.Heavy Weather\Regen_1h]*/;
$abs = 31198 /*[.Heavy Weather\Druck_abs]*/;
$rel = 11569 /*[.Heavy Weather\Druck_rel]*/;
// Wetterbild (-1=not valid, 0=rain, 1=cloud, 2=sun)
setValueInteger($wpic,(integer)str_replace('number = ','',$var[17]));
// Wettertendenz (-1=not valid, 0=no change, 1=air pressure rising, 2=air pressure falling)
setValueInteger($tend,(integer)str_replace('number = ','',$var[22]));
// Temperatur innen
setValueFloat($Tin,(float)str_replace('"','',str_replace('deg_C = ','',$var[25])));
// Temperatur aussen
setValueFloat($Tout,(float)str_replace('"','',str_replace('deg_C = ','',$var[29])));
// rel. Feuchtigkeit innen
setValueFloat($Fin,(float)str_replace('"','',str_replace('percent = ','',$var[33])));
// rel. Feuchtigkeit aussen
setValueFloat($Fout,(float)str_replace('"','',str_replace('percent = ','',$var[36])));
// Taupunkt
setValueFloat($Tau,(float)str_replace('"','',str_replace('deg_C = ','',$var[39])));
// gefühlte Temperatur
setValueFloat($Tgef,(float)str_replace('"','',str_replace('deg_C = ','',$var[43])));
// Windgeschwindigkeit
setValueFloat($Wgesch,(float)str_replace('"','',str_replace('kmh = ','',$var[48])));
// Windrichtung (Grad)
setValueFloat($Wricht,(float)str_replace('"','',str_replace('deg = ','',$var[54])));
// Windrichtung
setValueString($Wrich,str_replace('"','',str_replace('name = ','',$var[55])));
// Regenmenge
setValueFloat($Rges,(float)str_replace('"','',str_replace('mm = ','',$var[58])));
setValueFloat($R24,(float)str_replace('"','',str_replace('mm = ','',$var[62])));
setValueFloat($R1,(float)str_replace('"','',str_replace('mm = ','',$var[66])));
// Druckverhältnisse
setValueFloat($abs,(float)str_replace('"','',str_replace('hpa = ','',$var[70])));
setValueFloat($rel,(float)str_replace('"','',str_replace('hpa = ','',$var[74])));
// INT Umwandlung
$float = 17444 /*[.Heavy Weather\Aussentemp]*/;
$int = 20819 /*[.Heavy Weather\int_Aussentemp]*/;
setValueInteger($int,(integer)getValueFloat($float));
$float = 36493 /*[.Heavy Weather\Windgeschwindigkeit]*/;
$int = 29654 /*[.Heavy Weather\int_Windgeschw]*/;
setValueInteger($int,(integer)getValueFloat($float));
Fehler tritt wohl in diesem Bereich auf - übersichtshalber hab ich aber mein ganzes Skript gepostet:
// Heavy Weather Datei auslesen
$i = 1;
$handle = fopen ("/HeavyWeather/currdat.lst", "r");
while (!feof($handle))
{
$buffer = fgets($handle, 4096);
$var[$i] = $buffer;
$i = $i + 1;
}
fclose ($handle);
greetz Daniel