Hallo zusammen,
ich versuche gerade die ID einer MediaDatei herauszubekommen, um sie dann in eine Kategorie zu verlinken. Der Inhalt der Kategorie ist die Basis eines Inhaltswechslers im WF.
Die Datei (eine .png) wird im selben Script einige Zeilen weiter oben nach .\media\WetterKachelmannPics\ gespeichert.
Habe auch schon ein sleep(10) danach eingefügt, ohne Erfolg.
-
Versuch: $MediaID = IPS_GetMediaID($contents1); -> Ergebnis: Call to undefined function IPS_GetMediaID()
-
Versuch: $MediaID = IPS_GetMediaIDByFile($zielPfad.$contents1); -> Ergebnis: Warning: Datei D:\IPS\media\WetterKachelmannPics\2015-09-20-18-58_097360.png wurde nicht gefunden.
Wenn ich aber den Pfad in der Meldung in den Explorer eingebe, wird das Bild geöffnet. -
Versuch: $MediaID = IPS_GetMediaIDByName($zielPfad.$contents1, False); -> Warning: Objekt D:\IPS\media\WetterKachelmannPics\2015-09-20-19-03_097360.png wurde nicht gefunden
Wenn ich aber den Pfad in der Meldung in den Explorer eingebe, wird das Bild geöffnet.
Kann mir bitte jemand auf die Sprünge helfen?
Ziel ist es erst mal alle durch dieses Script gespeicherten Bilder im WF in einem Inhaltswechsler anzeigen zu können.
Später möchte ich dann auch noch die „alten“ Bilder (ab einem bestimmten Datum) und die zugehörigen links wieder löschen.
<?
// http://wetterstationen.meteomedia.de/messnetz/vorhersagegrafik/097360.png
$bildadresse = "http://wetterstationen.meteomedia.de/messnetz/vorhersagegrafik/097360.png";
$zielPfad = IPS_GetKernelDir()."media\WetterKachelmannPics"."\\";
//echo $zielPfad."
";
$contents = file_get_contents($bildadresse);
$contents1 = str_replace("http://wetterstationen.meteomedia.de/messnetz/vorhersagegrafik/","",$bildadresse);
$contents1 = date("Y-m-d-H-i", time())."_".$contents1;
//echo$contents1."
";
$savefile = fopen($zielPfad.$contents1, "w");
fwrite($savefile, $contents);
fclose($savefile);
sleep(10);
//$MediaID = IPS_GetMediaID($contents1);
//$MediaID = IPS_GetMediaIDByFile($zielPfad.$contents1);
$MediaID = IPS_GetMediaIDByName($zielPfad.$contents1, False);
if ($MediaID == 0)
{
echo "Medienobjekt nicht gefunden!";
}
else
{
echo "Die Medienobjekt-ID lautet: ". $MediaID;
// nach ./wetter/WetterKachelmann/Pics verlinken
$LinkID = IPS_CreateLink(); // Link anlegen
IPS_SetName($LinkID, $contents1); // Link benennen
IPS_SetParent($LinkID, 29364 /*[Logisch\Wetter\WetterKachelmann\Pics]*/); // Link einsortieren unter dem Objekt mit der ID "12345"
IPS_SetLinkTargetID($LinkID, $MediaID); // Link verknüpfen
}
?>