您应该根据问题

时间:2016-01-20 00:34:01

标签: php

我在php文件中有一个函数,它使用require_once包含在另一个php文件中

如果我从写入的文件中调用该函数,则该函数运行正常。

但是,如果我从通过require_once包含文件的其他文件中调用相同的函数,则该函数无法正常工作。问题围绕着使用putenvexec执行函数中的文件。

由于exec在从其写入的文件中以相同方式调用该函数时工作正常,但在从其他文件调用时不起作用,因此{< 1}}可以正常工作。 d得出结论问题出在我的require_once包含部​​分,但我不确定替代方案可能是什么?

1 个答案:

答案 0 :(得分:1)

假设你有这个文件夹结构:

-file1.php //File where file2.php will be included
   scripts
    -file2.php //File with the function
    -virus.exe //File that the function runs

file2.php内运行该功能,因为路径正确,您可以将其指向"virus.exe""./virus.exe"

但是当您在file2.php中加入file1.php时,相同的代码将添加到file1.php

file1.php会尝试exec "./virus.exe",但它与file1.php不在同一个文件夹中

这就是为什么它不起作用,你需要使用base_url来找到正确的文件路径。

类似于:base_url() . "scripts/virus.exe"