-1

我收到错误未定义函数。

这是代码:

$myvar = "@file_get_contents";

eval($myvar("http://someurlupdatehere.com"));

The error I get is: 

<b>Fatal error</b>:  Call to undefined function @file_get_contents() .. 
4

3 回答 3

3

@file_get_contents()不是有效的 PHP 函数。您可以删除抑制运算符以使其工作:

$myvar = "file_get_contents";

如果您仍需要使用抑制运算符,请执行以下操作:

eval('@' . $myvar("http://someurlupdatehere.com"));

甚至离开抑制运算符并将整行作为字符串传递:

$myvar = "@file_get_contents";
eval("$myvar('http://someurlupdatehere.com');");

请注意,使用抑制运算符eval通常是一个坏主意。

于 2013-05-13T20:19:09.130 回答
1

你想做什么对我来说真的很奇怪。我倾向于说“不要使用 eval,不要那样做!” ;)

无论如何,这是正确的语法:

$myvar = "@file_get_contents";
eval("$myvar('http://someurlupdatehere.com');");

或者,如果您需要file_get_contents()变量中的返回值(很可能,请使用:

$myvar = "@file_get_contents";
eval("\$file = $myvar('http://someurlupdatehere.com');");
echo $file;
于 2013-05-13T20:17:55.983 回答
0
<?php
$myvar = "file_get_contents";

eval(@$myvar("http://someurlupdatehere.com"));
?>

也可以。抑制错误。

于 2013-05-13T20:18:37.083 回答