Ir para conteúdo

Arquivado

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

Kajoma

Pegar extensão de upload

Recommended Posts

if (eregi(".jpg", $variavel)){

echo "extensão válida";

}else{

echo "extensão inválida";

}

 

Bom, da pra fazer o que eu kero usando alguns desse, mas não tem uma função que pega a extensão direto naum??

pq se eu tiver mtos tipos de arquivo vou ter q ter um if para cada tipo...

Compartilhar este post


Link para o post
Compartilhar em outros sites

tenta assim:

 

$tipo = str_replace('.', '', strstr($_FILES['file']['name'], '.'));

if ($tipo != "jpg" && $tipo != "gif") {
   echo "Formato de arquivo inválido! Cadastre arquivos <b>JPG</b> ou <b>GIF</b>.";
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

o índice type traz o mime-type, mas se quiser saber a extensão, pode fazer assim:

 

$file = "beraldo.imasters.forum.jpg";
$ext = end(explode(".", $file));

Dessa forma, não importa quantos pontos haja no nome do arquivo. http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

 

http://www.php.net/explode

http://www.php.net/end

Compartilhar este post


Link para o post
Compartilhar em outros sites

A forma mais segura de ter CERTEZA que o cara tá enviando uma imagem, é verificar pelo mime-type

 

// pega a extensão do arquivo (só aceita as extensões entre os parenteses, separe com barra vertical)
if( preg_match('@\.(jpg|png|gif|jpeg|bmp)$@i', $_FILES['file']['name'], $reg) )
{
  // verifica se o mime-type é uma imagem
  if( preg_match('@image/(\w+)@i', $_FILES['file']['type'], $reg_type) )
  {
	 // ok, realmente é uma imagem, faz o que desejar
	$extensao = $reg[1];
  }
}

@braços e fique com Deus!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cuidado, o mais interessante e seguro é pegar o mimetype do arquivo, por questões de segurança, só por que o arquivo é .jpg, não quer dizer eu não possa renomear um .php para .jpg e depois enviar.

 

 

ps.: hufersil, desculpa postei na mesma hora que você :(

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.