Retirar acentuação em um nome de arquivo antes da gravação

Boa tarde, tenho uma aplicação na qual uso um campo do tipo imagem onde armazeno um nome de arquivo. Como o arquivo é externo, as vezes está chegando com acentuação. Preciso tirar as acentuações antes da inclusão, ou seja, alterar o nome do arquivo antes da inclusão.
Alguém poderia me ajudar?
Desde já agradeço, att.

1 Curtida

Procure no fórum pela: function removerAcento .
Encontrará uma função que pode usar para remover os acentos.

1 Curtida

Bom dia, obrigado pela resposta. No caso nós já temos a função de retirar os acentos, mas o nosso problema é renomear um arquivo físico, no momento do upload, retirando os acentos.

1 Curtida

Eu tenho esse problema, já até sugeri, num passado distante, uma opção no próprio scriptcase de renomear o arquivo, tirando acentos, antes de gravar no disco. Quem sabe esse ano.

3 Curtidas

Boa tarde Igor,
Se você tem a pasta e o nome que foi feito o Upload use:


Mas terá que fazer depois da gravação.
1 Curtida

Resolvi usando reste método, obrigado pela dica!

Em qual evento vc usou? Afterinsert? E como ficou a lógica?

1 Curtida

Boa tarde, peço desculpas pela demora, só agora vi sua pergunta. Respondendo, usei no evento Afterinsert, com a seguinte lógica:

$tmp = ‘/inserir caminho físico aqui/file/img/’ . $nome_antigo; // Nesse ponto eu digo qual o caminho físico para o arquivo com o nome atual

$new = ‘/inserir caminho físico aqui/file/img/’ . $nm_img; // Nesse ponto eu digo qual o caminho físico para o arquivo com o nome que novo

E aí uso um if para buscar se a variável do arquivo atual está preenchida, e caso esteja, o arquivo é renomeado:

if (file_exists($tmp)){
rename($tmp, $new);
}

Espero ter ajudado, att.