Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Vinicius Wentz

Remoção de Acentos no upload de imagem

Recommended Posts

Tenho uma página onde é possível fazer o upload de fotos para o servidor.tudo funciona bem, mas quando uma foto é enviada com acento ou com nome com espaço ex:"nome da foto.jpg" ou "aspiração.jpg" dá erro e não abre a foto quando mando visualizar. Como faço para ao ser enviada uma imagem com acentos ou espaços, eu renomear ela, e depois mandaqr ela pro servidor com o novo nome... é possível?qualquer ajuda agradeço...... ;)

Compartilhar este post


Link para o post
Compartilhar em outros sites

você pode criar uma função q substitui letras acentuadas e remove os acentos, você pode criar 2 arrays mais ou menos assim:$acentuado = array{"á","à","ã",...}$nao_acentuado = array{"a","a","a",...}Depois fazer assim $nome_da_foto = str_replace($acentuado, $nao_acentuado, $nome_da_foto);e só :)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Dê uma pesquisada no forum, ñ tem um mais sim diversos tópicos, sobre sua questão com soluções.Flwwwwwwwwww

Compartilhar este post


Link para o post
Compartilhar em outros sites

PHP [/tr][tr]

function tira_acentos($texto){

$texto = eregi_replace("[áàâãª]","a",$texto);

$texto = eregi_replace("[éèê]","e",$texto);

$texto = eregi_replace("[íìî]","i",$texto);

$texto = eregi_replace("[óòôõ]","o",$texto);

$texto = eregi_replace("[úùû]","u",$texto);

}

[/tr]

Compartilhar este post


Link para o post
Compartilhar em outros sites

ok,,, mas se eu alterar o nome do arquivo enviado com essa função,,,, o php irá saber referenciar esse novo nome com o arquivo do nome anterior?,,,,bom, vou testar e depois digo se funcionou... valeu aí ^_^

Compartilhar este post


Link para o post
Compartilhar em outros sites

ok,,, mas se eu alterar o nome do arquivo enviado com essa função,,,, o php irá saber referenciar esse novo nome com o arquivo do nome anterior?,,,,bom, vou testar e depois digo se funcionou... valeu aí ^_^

ahn?!?!?! :huh:

Compartilhar este post


Link para o post
Compartilhar em outros sites

crie uma funcao com esta

PHP [/tr][tr]function retiraAcentos($string){

$array1 = array("á", "à", "â", "ã", "ä", "é", "è", "ê", "ë", "í", "ì", "î", "ï", "ó", "ò", "ô", "õ", "ö", "ú", "ù", "û", "ü", "ç" , "Á", "À", "Â", "Ã", "Ä", "É", "È", "Ê", "Ë", "Í", "Ì", "Î", "Ï", "Ó", "Ò", "Ô", "Õ", "Ö", "Ú", "Ù", "Û", "Ü", "Ç", " " );

$array2 = array("a", "a", "a", "a", "a", "e", "e", "e", "e", "i", "i", "i", "i", "o", "o", "o", "o", "o", "u", "u", "u", "u", "c" , "A", "A", "A", "A", "A", "E", "E", "E", "E", "I", "I", "I", "I", "O", "O", "O", "O", "O", "U", "U", "U", "U", "C", "_" );

return str_replace($array1, $array2,$string);

}

 

 

echo retiraAcentos("ÁÉÍÓÚ");

 

[/tr]

 

espero ter ajudado

Compartilhar este post


Link para o post
Compartilhar em outros sites

ok,,, mas se eu alterar o nome do arquivo enviado com essa função,,,, o php irá saber referenciar esse novo nome com o arquivo do nome  anterior?,,,,bom, vou testar e depois digo se funcionou... valeu aí  ^_^

ahn?!?!?! :huh:
Não, acho que não vai ter como você fazer esta referência.Ou você usa as regras de replace que os amigos passaram aqui ou usa a função rename.O que eu faria é deixar avisado a quem vai enviar a imagem de que ela não pode conter acentos e tal.Experimenta mandar um arquivo com o nome "Imagem.jpg", vê se também não vai dar problemas ela maiúscula.ps.: entendeu o que ele tentou dizer agora michel ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

era isso mesmo q eu pensava...terei q usar o rename....junto com a função de retirar os acentos.. não quero impedir o usuário de enviar nomes com acentos ou espaços...isso tudo meu processamento terá q fazer...valeu aí... :)

Compartilhar este post


Link para o post
Compartilhar em outros sites

utilizei a função acima mencionada junto com o comando rename..deu esse erro..ele não consegue renomear o arquivo... $file_novo=retiraAcentos($file_name); rename("/fotos/".$file_name,$file_novo);já dei no servidor chmod 777........ alguém sabe q erro é esse? :huh: Warning: rename(): SAFE MODE Restriction in effect. The script whose uid is 32184 is not allowed to access / owned by uid 0 in /home/dyaronan/public_html/enviofotos.php on line 28

Compartilhar este post


Link para o post
Compartilhar em outros sites

você quer fazer uploads de imagens??? se for isso acho q você nao precisa usar a rename()!!! na funcao copy("imagem","diretorio/"."novoNome); tente isso!!! isso é se for um script de uploads!!! espero ter ajudado!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Andrea http://forum.imasters.com.br/public/style_emoticons/default/clap.gif

 

agora funcionou perfeitamente...é só colocar o nome novo no comando de upload.. http://forum.imasters.com.br/public/style_emoticons/default/joia.gif

 

aqui o cod:

 

$file_novo=retiraAcentos($file_name);

 

$dest = $pasta."/".$file_novo;

 

if(move_uploaded_file($file,$dest)){

 

 

 

 

valew

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.