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

Tirar "." Do Nome Das Imagens


doulo4ever

Pergunta

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

Link para o comentário
Compartilhar em outros sites

9 respostass a esta questão

Posts Recomendados

  • 0

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!

Link para o comentário
Compartilhar em outros sites

  • 0

// 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

Link para o comentário
Compartilhar em outros sites

  • 0

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. smile.gif

Link para o comentário
Compartilhar em outros sites

  • 0

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... wink.gif

[]'s!

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,3k
    • Posts
      652,1k
×
×
  • Criar Novo...