Я использую 4D сервер. 4D имеет встроенный PHP процессор, но странным образом. Я должен запустить встроенный 4D-скрипт на своей веб-странице, затем я должен вызвать PHP Execute
и дать ему путь .php
файл.
4D Script
C_TEXT($result)
C_BOOLEAN($isOK)
$isOK:=PHP Execute("C:\\php\\myPHPFile.php";"my_function";$result)
ALERT($Result)
myPHPFile.php
<?php
function my_function() {
return 'Hello World';
}
?>
Я хочу иметь возможность написать это в моем веб-сайте:
<?php echo 'Hello World'; ?>
И обработать это. Я почти понял это. Если я сначала преобразую его через код сервера (4D может сделать это) в это:
C_TEXT($result)
C_BOOLEAN($isOK)
$isOK:=PHP Execute("";"echo 'Hello World'";$result)
ALERT($Result)
Вы должны иметь возможность запускать нативные функции PHP напрямую без .php
файл. Вы думаете, это сработает. Оказывается, это не так.
Итак, я попробовал это:
C_TEXT($result)
C_BOOLEAN($isOK)
$isOK:=PHP Execute("";"echo";$result;"Hello World") // I can send parameters
ALERT($Result)
Все еще не работает. Оказывается, мне нужно оценить код с помощью функции.
C_TEXT($result)
C_BOOLEAN($isOK)
$isOK:=PHP Execute("";"eval";$result;"return 'Hello World;'") // I can send parameters
ALERT($Result)
Что ДОЛЖЕН отправить "return 'Hello World';"
в eval()
, Ну, это все еще не работает, потому что я узнал, что eval()
на самом деле не функция Итак, что мне нужно знать, после всего этого фона, это:
Есть ли в PHP встроенная функция, которая бы работала так:
$evaulatedCode = eval($unEvaluatedCode);
Вы были довольно близко, у вас точка с запятой в неправильном месте в вашем return
заявление. Попробуй это:
$isOK:=PHP Execute("";"eval";$result;"return 'Hello World';")
Других решений пока нет …