有人可以告诉我为什么这个功能根本没有复制文件吗?
$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]。
答案 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脚本可以处理这样的。)