PHP'副本'无效

时间:2011-01-11 06:22:51

标签: php copy

有人可以告诉我为什么这个功能根本没有复制文件吗?

$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

to($ urldest)/public_html/wp-content/themes/[active wordpress theme] - 当然用主题目录替换[active wordpress theme]。

2 个答案:

答案 0 :(得分:1)

您需要确保您对/public_html/wp-content/themes/[active wordpress theme]以及您可能覆盖的任何其他文件具有写入权限。

答案 1 :(得分:1)

因此,copy()的第二个参数必须是本地文件。确保它也是像webbiedave所说的可写目的地(chmod)。

$desturl = "./supersqueeze.php";

原因是双重的。 PHP的http流包装器不支持写入操作所需的POSTing或PUTing文件。其次,您的网络服务器可能也不支持HTTP PUT。 (虽然一个小的requesthandler脚本可以处理这样的。)