无法复制文件夹内的文件夹

时间:2018-08-12 08:49:39

标签: 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 != '.' ) && ( $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);

无法复制目录内的文件夹。

也许有人可以帮助我?谢谢。

3 个答案:

答案 0 :(得分:1)

删除前缀“受保护”

答案 1 :(得分:0)

如果此代码只是一段代码,那么您位于类的上下文中,如果您不在类的上下文中,则应调用$ this-> copy_folder,则应删除“ protected”关键字< / p>

答案 2 :(得分:0)

#!/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);

这是我的跑步,没有任何问题。您正在使用哪个版本的PHP?您如何调用copy_folder