将文件复制到主目录PHP时出现问题

时间:2012-03-27 21:11:41

标签: php wordpress

我正在尝试将Wordpress安装中的Plugin目录中的单个文件复制到Wordpress安装的根目录。无论安装位于何处,我都需要这样做的功能。这是我的Wordpress插件,它似乎没有在我测试的网站上工作。

不知怎的,我在想我没有在我的function destpath()函数中捕获每个可能的目录位置。我需要它来成功找到Plugin文件夹的确切目录,以便它将文件(process.php)复制到确切的根目录,无论Wordpress安装的位置如何。

function destpath() 
{ 
    $base = dirname(__FILE__); 
    $path = false; 

    if (@file_exists(dirname(dirname($base))."/wp-config.php")) { 
        $path = dirname(dirname($base))."/process.php"; 
    } else 
        if (@file_exists(dirname(dirname(dirname($base)))."/wp-config.php")) { 
            $path = dirname(dirname(dirname($base)))."/process.php"; 
        } else 
            $path = false; 

    if ($path != false) { 
        $path = str_replace("\\", "/", $path); 
    } 
    return $path; 
} 

function pluginpath() 
{ 
    $base = dirname(__FILE__); 
    $path = false; 

    if (@file_exists(dirname(dirname($base))."/wp-content/plugins/malware finder/process.php")) { 
        $path = dirname(dirname($base))."/wp-content/plugins/malware finder/process.php"; 
    } else 
        if (@file_exists(dirname(dirname(dirname($base)))."/wp-content/plugins/malware finder/process.php")) { 
            $path = dirname(dirname(dirname($base)))."/wp-content/plugins/malware finder/process.php"; 
        } else 
            $path = false; 

    if ($path != false) { 
        $path = str_replace("\\", "/", $path); 
    } 
    return $path; 
} 

copy(pluginpath(), destpath()); 

1 个答案:

答案 0 :(得分:1)

根据source code,看起来destpath类的pluginpathMalwareFinder方法被注入printAdminPage函数:

源代码行:83:

function printAdminPage() {

源代码行:108(似乎关闭,如果):

<?php } 

源代码行:111-133(仍在printAdminPage中):

function destpath() { ... }

源代码行:136-158(仍在printAdminPage中):

function pluginpath() { ... }

源代码行:205:

}//End function printAdminPage()

此外,在第62和65行,这些php标签似乎没必要。