Encontrei este código no PHP manual, mas não estou conseguindo fazê-lo funcionar de forma correta.
Simplesmente informo a pasta de origem e a pasta de destino, ele faz a cópia da pasta de origem, mas também faz um loop copiando a pasta de destino várias vezes.
Segue abaixo o código:
function copydirr($fromDir,$toDir,$chmod=0757,$verbose=true){
$errors=array();
$messages=array();
if (!is_writable($toDir))
$errors[]='target '.$toDir.' is not writable';
if (!is_dir($toDir))
$errors[]='target '.$toDir.' is not a directory';
if (!is_dir($fromDir))
$errors[]='source '.$fromDir.' is not a directory';
if (!empty($errors)){
if ($verbose)
foreach($errors as $err)
echo '<strong>Error</strong>: '.$err.'<br />';
return false;
}
$exceptions=array('.','..');
$handle=opendir($fromDir);
while (false!==($item=readdir($handle)))
if (!in_array($item,$exceptions)){
$from=str_replace('//','/',$fromDir.'/'.$item);
$to=str_replace('//','/',$toDir.'/'.$item);
if (is_file($from)){
if (@copy($from,$to)){
chmod($to,$chmod);
touch($to,filemtime($from)); // to track last modified time
$messages[]='File copied from '.$from.' to '.$to;
} else
$errors[]='cannot copy file from '.$from.' to '.$to;
}
if (is_dir($from)){
if (@mkdir($to)){
chmod($to,$chmod);
$messages[]='Directory created: '.$to;
} else
$errors[]='cannot create directory '.$to;
copydirr($from,$to,$chmod,$verbose);
}
}
closedir($handle);
if ($verbose){
foreach($errors as $err)
echo '<strong>Error</strong>: '.$err.'<br />';
foreach($messages as $msg)
echo $msg.'<br />';
}
return true;
}
Pergunta
diogoleter
Olá,
Encontrei este código no PHP manual, mas não estou conseguindo fazê-lo funcionar de forma correta.
Simplesmente informo a pasta de origem e a pasta de destino, ele faz a cópia da pasta de origem, mas também faz um loop copiando a pasta de destino várias vezes.
Segue abaixo o código:
Chamo a função da seguinte forma:O endereço da onde encontrei o código: http://ca.php.net/manual/en/function.copy.php
Obrigado!
Link para o comentário
Compartilhar em outros sites
0 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.