doulo4ever Postado Fevereiro 9, 2005 Denunciar Share Postado Fevereiro 9, 2005 Oi Pessoal,preciso tirar os pontos do nome de imagens quando for fazer o upload.Tentei tipo:$nome_arquivo = $_FILES[$id_arquivos]["name"]; $explodir = end(explode(".", $nome_arquivo)); $nome = ".$explodir[0]."; $nome = ereg_replace(".","",$nome); $extencao = ".$explodir[1]."; $nometratado = "$nome.$extencao";Mas não faz o upload corretamente da imagem!!Tá certo isso que eu fiz?Obrigado Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Fabyo Postado Fevereiro 9, 2005 Denunciar Share Postado Fevereiro 9, 2005 se só quer tirar o ponto? usa str_replace() Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Gladisson Postado Fevereiro 9, 2005 Denunciar Share Postado Fevereiro 9, 2005 Não se esqueça que ele irá tirar até o da extensão. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 doulo4ever Postado Fevereiro 9, 2005 Autor Denunciar Share Postado Fevereiro 9, 2005 E como que eu faço pra colocar o ponto da extenção de novo/Obrigado Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Illidan Postado Fevereiro 9, 2005 Denunciar Share Postado Fevereiro 9, 2005 E como que eu faço pra colocar o ponto da extenção de novo/ O problema é que (até onde eu sei) uma extensão pode ter de 2 a 4 caracteres. Aí como que você vai saber a posição inicial do ponto?Eu vi que no seu código você tá usando a função end() juntamente com a explode(). Bom, acho que aquela end() tá sobrando ali... olha, o explode() retorna um array, e a end() retorna o último elemento do array. A partir disso, interprete o seu código... você vai ver que você tá associando na variável $explodir somente o último elemento do array que você criou com a explode() (e este array, que é o importante, você acaba não armazenando em local algum).Bom, quanto ao problema de remover todos os pontos menos o da extensão... você pode fazer o seguinte: utilize a função explode() pra quebrar a string onde tiver pontos. Aí, você utiliza a função array_pop() pra remover o último elemento desse array. Além de remover o último elemento, essa função o retorna... ou seja, você pode armazenar o último elemento numa variável ao mesmo tempo que remove ele do array. Só pra constar, o último elemento desse array será a extensão do arquivo... portanto, o que sobrou no array é tudo menos a extensão.Aí é simples... você junta os elementos que sobraram do array com o implode() e depois adiciona a extensão que você armazenou numa variável.Tenta fazer alguma coisa... se precisar de ajuda, é só falar.Até mais! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest Guest Postado Fevereiro 9, 2005 Denunciar Share Postado Fevereiro 9, 2005 // Pegamos a extensão do arquivo$ext = explode(".",$imgname);$ind = count($ext) - 1;$ext = $ext[$ind];// Retiramos a extensao do nome do arquivo$imgname = str_replace($ext,"",$imgname);// Retiramos os pontos$imgname = str_replace(".","",$imgname);// Juntamos a extensão do arquivo com o nome$imgname = $imgname.".".$ext Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 danielpc Postado Fevereiro 9, 2005 Denunciar Share Postado Fevereiro 9, 2005 O único problema do amigo Guest ali em cima é que se o arquivo for assim por exemplo "jpeg.jpeg" na hora que o script for retirar a extensão vai retirar o nome do arquivo tb. A solução:$ext = explode(".",$imgname);$ind = count($ext) - 1;$extensao = $ext[$ind];$ext = array_shift(array_reverse($ext,TRUE));$ext = implode("",array_reverse($ext,TRUE)).$extensao;Achu q assim vai funcionar. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Illidan Postado Fevereiro 9, 2005 Denunciar Share Postado Fevereiro 9, 2005 Daniel,Acho que funcionaria... só estaria faltando o ponto entre a extensão e o nome do arquivo. Olha como eu tinha pensado:$partes = explode(".", $imgname);$ext = array_pop($partes);$final = implode("", $partes) . "." . $ext;Se você usar o array_pop(), não precisa usar o array_reverse() que você teve que usar 2 vezes... []'s! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 danielpc Postado Fevereiro 9, 2005 Denunciar Share Postado Fevereiro 9, 2005 É mesmo, eu esqueci do ponto e valeu pela dica do array_pop() Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 doulo4ever Postado Fevereiro 9, 2005 Autor Denunciar Share Postado Fevereiro 9, 2005 Galera, muito obrigado pela ajuda aí!Desculpa qualquer coisa.(FUNCIONOU PERFEITAMENTE) Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
doulo4ever
Oi Pessoal,
preciso tirar os pontos do nome de imagens quando for fazer o upload.
Tentei tipo:
Mas não faz o upload corretamente da imagem!!
Tá certo isso que eu fiz?
Obrigado
Link para o comentário
Compartilhar em outros sites
9 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.