PHP: Obtendo o nome do arquivo
Neste exemplo iremos obter, somente, o nome do arquivo informado, excluindo sua extensão.
1 2 3 4 5 6 7 8 9 | <?php // pega o nome do arquivo function somenteNomeArquivo($arquivo){ $ext = explode('.',$arquivo); return $ext[0]; } echo somenteNomeArquivo("fotos.jpg"); ?> |
Explicando:
linha 4: A função explode() quebra em pedaços uma string, bastando informar um separador.
Sabendo que um arquivo possui nome + ponto (.) + extensão, nosso separador será o (.). O retorno dessa função é uma matriz de string.
linha 5: Retorno da função. O valor da posição zero da matriz $ext[0] será o nome do arquivo.
linha 8: Imprime o resultado.
Esta função não funcionaria para casos aonde o nome do arquivo fosse assim: “fotos.2014.jpg”;
Segue uma forma mais simples de fazer a mesma coisa e de forma correta.
<? function pega_nome_arquivo($arquivo){ $nome = pathinfo($arquivo); return $nome['filename']; } echo pega_nome_arquivo("fotos.2014.jpg"); ?> |
basename(‘c:/pasta/arquivo.txt’, ‘.txt’)
Dá o mesmo resultado e ainda tira a parte do diretório/pasta se houver na string.
Fica a dica do Everton.
Obrigado pela participação.
tem o pathinfo tb para fazer isso
http://php.net/manual/pt_BR/function.pathinfo.php
Obrigado Robson.