Php can';不要在文件夹中复制文件夹

Php can';不要在文件夹中复制文件夹,php,Php,我已尝试使用以下代码复制目录: $src = './resources/instansi/default/'; $dst = './resources/instansi/'; protected function copy_folder($src, $dst) { $dir = @opendir($src); @mkdir($dst); while (false !== ($file = readdir($dir))) { if (( $file !=

我已尝试使用以下代码复制目录:

$src = './resources/instansi/default/';
$dst = './resources/instansi/';

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

但我遇到了致命错误:调用未定义的函数copy_folder()。在线:

copy_folder($src . '/' . $file, $dst . '/' . $file);
无法复制目录中的文件夹


也许有人能帮我?谢谢。

删除前缀“protected”

如果此代码只是一个片段,那么您位于类的上下文中,您应该调用$this->copy_文件夹如果您不在类的上下文中,那么您应该删除“protected”关键字/usr/bin/php
你得了什么病?可能是权限问题吗?调用未定义的函数copy_folder()@inneedofhelpt此代码位于类的上下文之外,如果删除“protected”关键字this Call,我仍然会遇到相同的错误$rs=$this->copy_文件夹($src,$dst);使用PHP7在我的环境上运行正常。这听起来像是权限问题,meI可以运行代码并复制文件,但我不能复制文件夹“默认”中的文件夹。你能显示此“默认”文件夹中的文件结构吗?
#!/usr/bin/php
<?php
$src = './resources/instansi/default/';
$dst = './resources/instansi/';

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

copy_folder($src, $dst);