PHP per PHP-Befehl ausführen?

Hallo,

gibt es einen php-Befehl unter IPS mit dem ich eine PHP-Code ausführen kann?

Ich hab in einer String-Variable z.B. folgenden Inhalt

$phpCode="SetValue(12345,'Hallo')";

Kann ich innerhalb von IPS bzw. php diesen Code ausführen lassen ohne, das ich mit IPS_CreateScript etc. arbeiten muss?
Also so was wie

$phpCode="SetValue(12345,'Hallo')";
IPS_RunPHPcode($phpCode);

Gruß
hardlog

Abend!

Also so direkt einen ganzen PHP Befehl wüsste ich spontan nicht. Aber eine Funktion kannst du über einen String aufrufen >> PHP: call_user_func - Manual

Beispiel aus dem Link:

<?php
function friseur($type)
{
    echo "Sie möchten einen $type-Kopf, kein Problem
";
}
call_user_func('friseur', "Bubi");
call_user_func('friseur', "Pilz");
?>

Ausgabe:

Sie möchten einen Bubi-Kopf, kein Problem
Sie möchten einen Pilz-Kopf, kein Problem

…Der Name der Funktion kann als String übergeben werden und danach dann der/die Parameter für die Funktion. Sollte also hinzubekommen sein, was auch immer du vor hast damit :slight_smile:

Entweder funktioniert so direkt das „SetValue“, oder (was ich eher glaube) du brauchst halt noch eine eigene Funktion „SetWertUeberString($bla, $blubb)“ und darin dann das normale SetValue :cool:

Grüße,
Chris

Ja gibt es:
IPS_RunScriptText erwartet als 1.Parameter ein String welcher das ‚Script‘ enthält.

Gibt natürlich auch als IPS_RunScriptTextEx und IPS_RunScriptTextWait sowie IPS_RunScriptTextWaitEx.
Ist also das Äquivalent zu IPS_RunScript*
Michael

Oder eval() http://php.net/manual/de/function.eval.php

Vielen dank für eure rasche Hilfe!

Ich habs mir der (undokumentierten) IPS-Funktion IPS_RunScriptText gemacht.

Gruß
hardlog