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

(Resolvido) Sinal de "+" no meio do nome da imagem


Rubiz Gardini

Pergunta

Olá gente... recebi imagens de um banco de dados para serem carregadas dinamicamente, e qual não foi minha surpresa quando vi que tinha um sinal de "+" no meio do nome da imagem... as outras carregam, essa aí não...

Tentei todos os encodes e decodes, htmlentities, htmlspecialchars, addslashes, combinações entre utf8_encode urldecode um mmoooonte de coisas... esgotei as possibilidades mesmo...

Alguém tem uma dica de como faço agora?

Link para o comentário
Compartilhar em outros sites

7 respostass a esta questão

Posts Recomendados

  • 0

hum...nunca tive esse problema.

Mas se nenhuma tentativa deu certo, pra essa imagem você pode renomear na mão e alterar no banco. Depois coloca uma validação pra evitar que a imagem tenha esse tipo de caracteres, isso se a imagem for copiada para o servidor através do sistema.

Link para o comentário
Compartilhar em outros sites

  • 0

Eu também nunca tive esse problema, então não posso opinar, mas seguindo a linha de raciocínio do M@luco Belez@, nem precisa ser na mão, dá pra fazer um script pra renomear os arquivos e também alterar no BD, tudo automático, se o cliente usar um PHP para enviar para o servidor melhor ainda, pois ai dá pra tratar no momento do envio... aliás, se o envio é feito por algum script, já é uma falha não tratar o nome do arquivo para deixar ele no padrão da web...

Link para o comentário
Compartilhar em outros sites

  • 0

Sim na realidade eu não sei como foi feita a inserção, mas ok, isso já me tomou algumas horas tentando desvendar o encode/decode.

Como eu poderia fazer para renomear tudo isso no banco? não faço idéia... com UPDATE eu poderia alterar mas e o tratamento em si? Chamo os nomes das imagens, faço um urlencode e faço o UPDATE? isso?

Para enviar novos registros para o banco, eu q farei o admin agora. Então eu posso controlar isso. da mesma forma poderia usar o urlencode né?

(ai, como era melhor trabalhar no meu mundinho de flash rsrsrsrs)

Link para o comentário
Compartilhar em outros sites

  • 0

Algo do tipo...

<?php
$sql = mysql_query... //Pega todos as imagens listadas no BD...

while($x = mysql_fetch_assoc($sql)){//Faz um laço pra pegar os nomes...
$nome = //Pega o nome...

if(strpos($nome,'+')){//Testa para ver se existe o + no nome
$nome_novo = str_replace('+','_',$nome); //Se existir substitui + por _ ou por outra coisa que você quiser
$atualiza = mysql_query(UPDATE... //Faz um update com a variável $nome_novo

if($atualiza){
rename ... //Renomeia o arquivo...
}

}

}
?>

Link para o comentário
Compartilhar em outros sites

  • 0

hmmm gostei do código ESerra, mas seguinte, vi que tem outras imagens com & por exemplo, tb deu rolo aqui.

vou usar o encode mesmo ao invés do replace, mesmo para evitar no futuro outros símbolos estranhos e tal, e pra ficar tudo padronizadinho bonitinho.

Vou usar seu código apenas tirando o replace! achei ótimo.

Valeu mesmo vocês salvaram o meu dia!!!

Link para o comentário
Compartilhar em outros sites

  • 0

Bem, só pra deixar documentado aqui no fórum, tentei fazer o que eu disse com urlencode/urldecode mas isso só funciona pro sinal de "&" que também tava dando pau no nome da imagem, para o sinal de "+" não houve solução, ele é um sinal que não é capturado pelos encodes/decodes.

Daí terei realmente que usar a técnica acima, aliada à técnica de urlencode/decode para os demais sinais...

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