注册激活挂钩和复制文件夹时出现问题

时间:2013-09-02 作者:Raank

嘿,伙计们,我想复制一个文件夹来激活我的插件,我正在尝试,但它不起作用。

function hyperbolic_activate() {

    $src = \'includes/myTheme/\';
    $dst = \'../themes/\';

    function recurs_copy($src,$dst) {
        $dir = opendir($src);
        @mkdir($dst);
        while(false !== ( $file = readdir($dir)) ) {
        if (( $file != \'.\' ) && ( $file != \'..\' )) {
            if ( is_dir($src . \'/\' . $file) ) {
                recurse_copy($src . \'/\' . $file,$dst . \'/\' . $file);
            } else {
                copy($src . \'/\' . $file,$dst . \'/\' . $file);
            }
        }
    }
    closedir($dir);
    }
}
register_activation_hook( __FILE__, \'hyperbolic_activate\' );
我的代码中有什么问题?

1 个回复
最合适的回答,由SO网友:cybmeta 整理而成

您正在定义recurs\\u copy()函数来执行复制,但从未执行过。尝试:

function hyperbolic_activate() {

   $src = \'includes/myTheme/\';
   $dst = \'../themes/\';
   recurs_copy($src, $dst);

}
register_activation_hook( __FILE__, \'hyperbolic_activate\' );

function recurs_copy($src,$dst) {
    $dir = opendir($src);
    @mkdir($dst);
    while(false !== ( $file = readdir($dir)) ) {
      if (( $file != \'.\' ) && ( $file != \'..\' )) {
         if ( is_dir($src . \'/\' . $file) ) {
            recurse_copy($src . \'/\' . $file,$dst . \'/\' . $file);
         } else {
            copy($src . \'/\' . $file,$dst . \'/\' . $file);
         }
      }
    }
   closedir($dir);
 }

结束

相关推荐

hooks & filters and variables

我是updating the codex page example for action hooks, 在游戏中完成一些可重用的功能(最初是针对这里的一些Q@WA)。但后来我遇到了一个以前没有意识到的问题:在挂接到一个函数以修改变量的输出后,我再也无法决定是要回显输出还是只返回它。The Problem: 我可以修改传递给do_action 用回调函数钩住。使用变量修改/添加的所有内容仅在回调函数中可用,但在do_action 在原始函数内部调用。很高兴:我将其修改为一个工作示例,因此您可以将其复制/粘贴