Geralmente quando se copia uma pasta usando o PHP, não é possível copiar seus subdiretórios, mas sim apenas o arquivos que estão diretamente dentro dela. Essa função mostra como copiar tudo que estiver dentro de uma pasta.
/* * Copiar todos os arquivos e subdiretórios dentro de um diretório * * @Autor: Aidan Lister <aidan ARROBA php.net> * @Tradução: Tiago Passos <voxtiago ARROBA gmail.com> * @versão 1.0.1 * @parâmetro de origem: $source * @parâmetro de destino: $dest * @retorna TRUE se houver sucesso e FALSE se houver erro * @Exemplo de uso: copyr("site","backup_site"); */ function copyr($source, $dest) { // COPIA UM ARQUIVO if (is_file($source)) { return copy($source, $dest); } // CRIA O DIRETÓRIO DE DESTINO if (!is_dir($dest)) { mkdir($dest); echo "DIRETÓRIO $dest CRIADO<br />"; } // FAZ LOOP DENTRO DA PASTA $dir = dir($source); while (false !== $entry = $dir->read()) { // PULA "." e ".." if ($entry == '.' || $entry == '..') { continue; } // COPIA TUDO DENTRO DOS DIRETÓRIOS if ($dest !== "$source/$entry") { copyr("$source/$entry", "$dest/$entry"); echo "COPIANDO $entry de $source para $dest <br />"; } } $dir->close(); return true; }
Últimos comentários