-3

我正在尝试使用这个名为“Php Win2K 文件管理器”的文件管理器 ,但我在下面收到这些错误

已弃用:第 166 行的 C:\xampp\htdocs\test\explorer.php 中
已弃用调用时传递引用已弃用:C:\xampp\htdocs\ 中已弃用调用时传递引用test\explorer.php on line 214
Warning: opendir(c:/inetpub/wwwroot/,c:/inetpub/wwwroot/) [function.opendir]: 系统找不到指定的路径。(代码:3)在 C:\xampp\htdocs\test\explorer.php 第 91 行
警告:opendir(c:/inetpub/wwwroot/) [function.opendir]: failed to open dir: No such file or directory in C:\xampp\htdocs\test\explorer.php 第 91 行

为什么是这样?是因为我在 Linux 服务器而不是 Win2K 上运行它吗?

我的页面

4

1 回答 1

2

调用时传递引用意味着一个变量正在使用&它前面的运算符传递给一个函数。例如 ( someFunction(&$var);)。

PHP 5.4 弃用了调用时传递引用,这意味着您不能在函数调用中通过引用传递变量,正确的方法是定义函数,使变量始终通过引用传递。上述调用的函数定义如下所示:

function someFunction(&$iAmByReference) {
    $iAmByReference = 42;
}

当你调用它时,你不需要在变量前面加上&,调用看起来像:

$x = 32;
someFunction($x);
echo $x; // 42

您必须修改代码,以便函数定义将变量声明为引用变量,并&从任何函数调用中删除。

您说您在 Linux 上运行,但鉴于 PHP 错误消息,您似乎仍在 Windows 上。PHP 说你的脚本是C:\xampp\htdocs\test\explorer.php一个 Windows 路径。

很可能$_GET['dir']是不正确的,或者脚本确定路径错误。不知道那里发生了什么,我必须看看你是如何访问脚本的。在第一种情况下,它看起来像是试图打开一个实际上是由逗号分隔的 2 条路径的路径。

于 2012-08-12T23:54:52.597 回答