![]() |
|
||||
![]() Planilha Web - Planilhas e Calculadoras online para estudantes e profissionais de Engenharia Civil, Engenharia Elétrica e Engenharia Mecânica. |
|||||
Você está aqui: PHP ::: Dicas & Truques ::: Upload de Arquivos |
Retirando acentos, caracteres especiais e espaços do nome de um arquivo durante uma operação de uploadQuantidade de visualizações: 17980 vezes |
Em algumas situações, principalmente em hospedagens Linux, devemos evitar que os nomes dos arquivos enviados ao servidor por meio de upload de arquivos não contenham acentos, espaços ou caracteres especiais. Esta dica mostra como isso pode ser feito. Note que ainda transformamos o resultado em letras minúsculas. Aqui estamos assumindo que o formulário enviado possui um controle <input type="file"> com o nome de "arquivo":<? // diretório no qual o arquivo será gravado. este diretório // deverá ter permissão de escrita $diretorio = "/home/xxxx/xxxx/xxx/imagens/"; // vamos verificar o código do erro if($_FILES['arquivo']['error'] == UPLOAD_ERR_OK){ // o arquivo foi transferido com sucesso. vamos remover os // espaços, acentos e caracteres especiais antes de // gravá-lo em seu local definitivo $nome_antigo = $_FILES["arquivo"]["name"]; $novo_nome = strtolower(ereg_replace("[^a-zA-Z0-9_.]", "", strtr($nome_antigo, "áàãâéêíóôõúüçÁÀÃÂÉÊÍÓÔÕÚÜÇ ", "aaaaeeiooouucAAAAEEIOOOUUC_"))); move_uploaded_file($_FILES["arquivo"]["tmp_name"], $diretorio . $novo_nome); echo "O nome do arquivo foi alterado de \"$nome_antigo\" para \"$novo_nome\""; echo "<br>Upload efetuado com sucesso."; } else echo "Ocorreu um erro no upload"; ?> |
![]() |
Desafios, Exercícios e Algoritmos Resolvidos de PHP |
Veja mais Dicas e truques de PHP |
Dicas e truques de outras linguagens |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
1º lugar: Java |