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