包含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() 函数的脚本文件.我的方法应该也适合你。

希望对您有所帮助:)