Ir para conteúdo
Fórum Script Brasil
  • 0

(Resolvido) Mover Arquivo


itibere

Pergunta

Como faço para mover um arquivo de uma pasta para outra , tem uma função especifica para isso?

eu to ta fazendo assim;

Copio da pasta de origem para a de destino com o comando "copy()";

Depois deleto da pasta de origem com o comando unlink();

Link para o comentário
Compartilhar em outros sites

6 respostass a esta questão

Posts Recomendados

  • 0

Só Para deixar registrado e se puder ser util para alguém,

Como eu vou executar essa tarefa de mover arquivos em varios lugares, e a função

rename("srt","srt"); apesar de ser prática, não tem um tratamento de erro legal, eu criei uma função para mover arquivos.

Ela ta bem simples,(depois vou melhorar ), mas funciona legal, e tem alguns tratamentos de erro que eu incorporei.

Fica aberto para quiser usar, e principalmente para melhorar.

//FUNÇÃO PARA MOVER ARQUIVOS;
//By Itiberê E. S. Mattos
function moveArq($strOrigem,$strDestino){
    $msgErr="";        //RECEBE AS MENSSAGENS DA FUNÇÃO;
    $respErr=0;        //QUARDA SE TEM OU NÃO ERROS. INICIALIZA SEM ERROS.
    //PRIMERIO COPIA O ARQUIVO DA ORIGEM PARA O DESTINO;
    //FERIFICA SE A ORIGEM E O DESTINO SÃO IGUAIS
    if($strOrigem==$strDestino){
        $msgErr="O local de Destino e igual ao local de origem. A operação foi abortada";
        $respErr=1;        //ATULIZAR VARIAVEL PARA ERRO.
    }else{
        $cpArq=copy($strOrigem,$strDestino);
    }
    //FAZ O TRATAMENTO CASO A OPERAÇÃO TENHA FALHADO;
    if(!$cpArq){
        $msgErr="Ocorreu um erro na tentativa de Copia do Arquivo. A operação foi Abortada.";
        $respErr=1;        //ATULIZAR VARIAVEL PARA ERRO.
    }
    //VEIFICA SE TEM ERRO ANTES DE TENTAR EXCLUIR O ARQUIVO
    if($respErr!=1){
    //SE NÃO TIVER ERRO EXCLUI O ARQUIVO
        $dlArq=unlink($strOrigem);
    }
    //AGORA VERIFICA SE FOI EXLUIDO O ARQUIVO;
    if($respErr==1){
    }else{
        if(!$dlArq){
            $msgErr="Ocorreu um erro na tentativa de Exclusão do Arquivo. Apenas uma Copia do Arquivo foi criada no diretório de destino.";
            $respErr=1;        //ATULIZAR VARIAVEL PARA ERRO.
        }
    }
    //AQUI VERIFICA O CONTEUDO DA VARIAVEL DE ERRO;
    if($respErr==1){
        return $msgErr;        //SE TIVER ERRO RETORNA A MENSSAGEM COM O ERRO
    }else{
        return true;        //SE NÃO TIVER RETORNA TRUE.
    }
}

Link para o comentário
Compartilhar em outros sites

  • 0

Estou fazendo um nova pergunta neste tópico, por que é sobre o mesmo tema.

no rename(antivo,novo) a pasta de destino tem que ser diferente da de origem ou pode ser a mesna pasta?

Link para o comentário
Compartilhar em outros sites

  • 0

não existe mesmo nenhum controle no comando rename... você pode até fazer:

rename($origem,$origem)

que ele vai aceitar sem problema algum...

Mas seria meio estranho...

Sobre o código acima, daria para simplificar com rename tb... Dá pra fazer assim:

if ($origem == $destino) {
  echo "O que você ta tentando fazer?????";
}
elseif (rename($origem,$destino)) {
  echo "Suuuuuuuucessoooooooo!!!";
}
else {
  echo "Deu erro!!!";
}

Claro, dá pra melhorar, mas coloquei só simplificado...

Abs...

Link para o comentário
Compartilhar em outros sites

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.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...