itibere Postado Outubro 16, 2007 Denunciar Share Postado Outubro 16, 2007 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(); Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 EvandroPH Postado Outubro 16, 2007 Denunciar Share Postado Outubro 16, 2007 Eu uso o comando rename...rename("arquivo/teste.jpg","files/teste.jpg");Funciona...Mas se tiver outra maneira, tb gostaria de saber... Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 ESerra Postado Outubro 16, 2007 Denunciar Share Postado Outubro 16, 2007 Não existe a função move() (que será a mais óbvia)...mas as soluções foram essas mesmo que vocês passaram... claro que quando se faz upload de um arquivo ai se dev usar o move_uploaded_file... Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 itibere Postado Outubro 17, 2007 Autor Denunciar Share Postado Outubro 17, 2007 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. } } Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 itibere Postado Outubro 19, 2007 Autor Denunciar Share Postado Outubro 19, 2007 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? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Shure Man Postado Outubro 19, 2007 Denunciar Share Postado Outubro 19, 2007 pode ser a mesma pasta Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 EvandroPH Postado Outubro 22, 2007 Denunciar Share Postado Outubro 22, 2007 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... Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
itibere
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
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.