Problema
Você deseja copiar um diretório inteiro para outro local.
Você deseja copiá -lo recursivamente, todos os arquivos e subdiretos, para o novo local.
Solução
Use o Arquivo :: copyDirectory ()
método.
O método retornará verdadeiro se todos os arquivos e subdiretórios forem copiados com sucesso.
Se o diretório de destino não existir, ele será criado. Será criado recursivamente conforme necessário.
Discussão
Há um terceiro argumento opcional.
Internamente, o Arquivo :: copyDirectory ()
O método usa a classe de sistemas -sistemas do PHP para digitalizar os arquivos e diretórios para copiar. O FileSystemiterator leva sinalizadores como um segundo parâmetros. Você pode passar um terceiro argumento para Arquivo :: copyDirectory ()
que é repassado ao construtor de sistemas de arquivos. Por padrão, Arquivo :: copyDirectory ()
usa a constante skip_dots.
Isso significa que os arquivos começando com pontos não são copiados.
Tenha cuidado usando esta terceira opção. O Arquivo :: copyDirectory ()
O método pode não se comportar conforme o esperado, a menos que você entenda bem como o Sistemiterador de Arquivos é usado para Traversal de Diretório.