包含PHP个文件并多次执行
Include PHP File and execute it multiple times
是的,我知道这可能不是执行此操作的最佳方式。但是我有一个脚本,我想用参数多次调用它并移交两个变量。到目前为止我的代码如下所示:
$testfeld = array('User1'=>'400028',
'User2'=>'400027'
);
foreach($testfeld as $key=>$value) {
$_GET['cmd'] = 'modify';
include("testmodify.php");
}
如果我 运行 此代码,我会收到一条错误消息:
Fatal error: Cannot redeclare show() (previously declared in testmodify.php:14) in testmodify.php on line 39
如果我执行此操作,它只会修改数组的第一个条目,然后向我抛出上面的错误消息。
可悲的是,我只有对 testmodify.php 的读取权限。那么有没有一种方法可以执行此包含数组的所有内容?
将您的代码放入函数中,包含一次并调用任意数量。
您收到此错误是因为文件 testmodify.php 包含 "show" 的定义。由于您的循环尝试再次定义对象显示而导致的文件的第二次包含,这是无法完成的。
这是另一个关于有人试图重新定义函数的问题。
Php and redifining
编辑:MilanG 的另一个答案是如何修复它。
你可以做类似的事情(在你的 testmodify.php 脚本中):
if (!function_exists("show")) {
function show($parameters) {
/* do your stuff here */
}
}
在这种情况下,更好的做法是在您的 testmodify.php 脚本中执行 include_once()
,使其指向您定义 show()
函数的脚本文件.我的方法应该也适合你。
希望对您有所帮助:)
是的,我知道这可能不是执行此操作的最佳方式。但是我有一个脚本,我想用参数多次调用它并移交两个变量。到目前为止我的代码如下所示:
$testfeld = array('User1'=>'400028',
'User2'=>'400027'
);
foreach($testfeld as $key=>$value) {
$_GET['cmd'] = 'modify';
include("testmodify.php");
}
如果我 运行 此代码,我会收到一条错误消息:
Fatal error: Cannot redeclare show() (previously declared in testmodify.php:14) in testmodify.php on line 39
如果我执行此操作,它只会修改数组的第一个条目,然后向我抛出上面的错误消息。 可悲的是,我只有对 testmodify.php 的读取权限。那么有没有一种方法可以执行此包含数组的所有内容?
将您的代码放入函数中,包含一次并调用任意数量。
您收到此错误是因为文件 testmodify.php 包含 "show" 的定义。由于您的循环尝试再次定义对象显示而导致的文件的第二次包含,这是无法完成的。
这是另一个关于有人试图重新定义函数的问题。 Php and redifining
编辑:MilanG 的另一个答案是如何修复它。
你可以做类似的事情(在你的 testmodify.php 脚本中):
if (!function_exists("show")) {
function show($parameters) {
/* do your stuff here */
}
}
在这种情况下,更好的做法是在您的 testmodify.php 脚本中执行 include_once()
,使其指向您定义 show()
函数的脚本文件.我的方法应该也适合你。
希望对您有所帮助:)