IPS_GetMediaIDByFile u.ä. noch nicht implementiert

Hi,

gehe ich richtig in dar Annahme, dass obige Funktionen noch nicht gehen?

herbertf

Soweit ich das sehe scheinen die Funktionen vorhanden und implementiert zu sein. Inwiefern geht die nicht?

pares

Hi,

ich habe schlicht euer Beispiel genommen, da das RS RainForecast auf V4 auch diesen Fehler bringt.

Natürlich gibt es die Datei.

$MediaID = @IPS_GetMediaIDByFile("media\\help.png");
if ($MediaID == 0)
    echo "Bild nicht gefunden!";
else
    echo "Die Media-ID lautet: ". $MediaID;

herbertf

Mach mal bitte folgendes:


var_dump(IPS_GetMedia($id));

Wobei die ID von der eigentlich gesuchten Media-Datei ist. Sind unter Linux evtl. die \ gegen / getauscht?

paresy

Script:

var_dump(IPS_GetMedia(10024 /*[Objekt #19746 existiert nicht]*/));

$MediaID = IPS_GetMediaIDByFile("media\\latestForecast_1.gif");
if ($MediaID == 0)
    echo "Bild nicht gefunden!";
else
    echo "Die Media-ID lautet: ". $MediaID;

Ausgabe:

array(8) {
  ["MediaID"]=>
  int(10024)
  ["MediaType"]=>
  int(1)
  ["MediaFile"]=>
  string(26) "media/latestForecast_1.gif"
  ["MediaUpdated"]=>
  int(1445283958)
  ["MediaIsCached"]=>
  bool(false)
  ["MediaCRC"]=>
  string(8) "29916C5A"
  ["MediaSize"]=>
  int(9576)
  ["MediaIsAvailable"]=>
  bool(true)
}
<br />
<b>Warning</b>:  Datei media\latestForecast_1.gif existiert nicht in <b>[Tets]</b> on line <b>4</b><br />
Bild nicht gefunden!

Mit / statt \ funkt es - SORRY!

Ich nutze sehr gerne die Konstante


echo DIRECTORY_SEPARATOR;

Welche automatisch den korrekten Slash für das dazugehörige OS benutzt.

Dann solltest du auch keine Probleme damit haben, auch bei einem Vergleich zwischen Strings oder bei IPS_GetMediaIDByFile.

Da es IPS vorher ja nur für Windows gab, wurde hier meistens in Scripten der Backslash genutzt (welcher dann noch mit einem weiteren maskiert wurde).


$MediaID = IPS_GetMediaIDByFile("media".DIRECTORY_SEPARATOR."latestForecast_1.gif");
if ($MediaID === false)
    echo "Bild nicht gefunden!";
else
    echo "Die Media-ID lautet: ". $MediaID;

Sollte funktionieren.
Michael

Danke geht.

beim RS RainForecast kommt jetzt noch ein Fehler beim

$_IPS['next_quarter'];

Ausgabe: <b>Notice</b>: Undefined index: next_quarter in <b>C:\IP-Symcon\scripts …

Mir ist es aber jetzt zu spät …

GUTE NACHT

herbertf