PHP 使用 'eval' 作为函数(获取 Return 值)
PHP Use 'eval' As a Function (Get Return Value)
背景
我正在使用 4D server. 4D has a built in PHP processor,但方式很奇怪。我必须在我的网页中启动一个内联 4D 脚本,然后我必须调用 PHP Execute
,并给它一个 .php
文件的路径。
4D 脚本
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()
。好吧,STILL 不起作用,因为我发现 eval()
实际上不是一个函数。所以我需要知道的是,在所有这些背景之后,是这样的:
问题
PHP 中是否有像这样工作的本机函数:
$evaulatedCode = eval($unEvaluatedCode);
您非常接近,您在 return
语句中的分号位置错误。试试这个:
$isOK:=PHP Execute("";"eval";$result;"return 'Hello World';")
背景
我正在使用 4D server. 4D has a built in PHP processor,但方式很奇怪。我必须在我的网页中启动一个内联 4D 脚本,然后我必须调用 PHP Execute
,并给它一个 .php
文件的路径。
4D 脚本
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()
。好吧,STILL 不起作用,因为我发现 eval()
实际上不是一个函数。所以我需要知道的是,在所有这些背景之后,是这样的:
问题
PHP 中是否有像这样工作的本机函数:
$evaulatedCode = eval($unEvaluatedCode);
您非常接近,您在 return
语句中的分号位置错误。试试这个:
$isOK:=PHP Execute("";"eval";$result;"return 'Hello World';")