PHP "копия" не работает - PullRequest
       1

PHP "копия" не работает

1 голос
/ 11 января 2011

Кто-нибудь может мне сказать, почему эта функция вообще не копирует файл?

$pluginfile = get_bloginfo('template_url') . '/wp-content/plugins/supersqueeze/supersqueeze.php';

$urlparts = get_bloginfo('template_url');
$homeurl = home_url();
$urlstrip = str_replace($homeurl, '..', $urlparts);
$urldest = $urlstrip . '/supersqueeze.php';

function copyemz(){ 
global $pluginfile; global $urldest;
if(!@copy($pluginfile,$urldest)) {
        $errors= error_get_last();

    }
}

Этот файл запускается с /public_html/wp-admin/plugins.php

Мне нужно скопировать файл на($ pluginfile) /public_html/wp-content/plugins/supersqueeze/supersqueeze.php

в ($ urldest) /public_html/wp-content/themes/[active wordpress theme] - конечно, заменив [активную тему WordPress] каталогом темы.

Ответы [ 2 ]

1 голос
/ 11 января 2011

Итак, вторым параметром copy() должен быть локальный файл. Убедитесь, что это также место для записи (chmod), как сказал webbiedave.

$desturl = "./supersqueeze.php";

Причина двоякая. Оболочки потока PHP в PHP не поддерживают файлы POST или PUTing, которые могут потребоваться при записи. Во-вторых, ваш веб-сервер, вероятно, также не будет поддерживать HTTP PUT. (Хотя небольшой скрипт-обработчик запросов может обработать такое.)

1 голос
/ 11 января 2011

Вы должны убедиться, что у вас есть права на запись в /public_html/wp-content/themes/[active wordpress theme], а также в любые другие файлы, которые вы можете перезаписывать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...