2012-03-27 2 views
0

Я пытаюсь скопировать один файл из каталога Plugin внутри моей установки Wordpress в корневой каталог установки Wordpress. Мне нужна функциональность, чтобы сделать это независимо от того, где находится установка. Это для моего плагина Wordpress, и он, похоже, не работает на сайте, который я тестировал.Проблемы с копированием файла в домашний каталог PHP

Как-то я думаю, что я не собираю каждое возможное расположение каталога в моей функции 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()); 
+2

Вы проверяли разрешения для своих папок? –

+0

Проверьте свои файлы журналов, за возможные ошибки разрешения –

+0

Я изменил разрешения на все подкаталоги сверху установки Wordpress. Все равно никаких изменений. Спасибо за хорошее предложение. –

ответ

1

Согласно source code, это выглядит как destpath и pluginpath методов MalwareFinder класса впрыскивается в printAdminPage функции:

Исходный код линия: 83:

function printAdminPage() { 

Источник строка кода: 108 (по-видимому, закрывается, если):

<?php } 

Исходный код линия: 111-133 (еще в printAdminPage):

function destpath() { ... } 

Исходный код линия: 136-158 (еще в printAdminPage):

function pluginpath() { ... } 

Исходный код линия: 205:

}//End function printAdminPage() 

Кроме того, на строках 62 и 65 эти теги php выглядят ненужными.

Смежные вопросы