Jump to content


Photo

Renomeia A Imagem Mas Não Pega A Extensão


  • Faça o login para participar
8 replies to this topic

#1 thioz21

thioz21

    Normal

  • Usuários
  • 116 posts
  • Sexo:Masculino
  • Localidade:Passos

Posted 10/11/2009, 06:03

Fala ai galera... seguinte.. fiz um sistema de upload.. e tentei fazer o seguinte... se a imagem já existir no servidor ele precisa renomear, ta renomeando blzinha, só que não ta pegando a extensão da imagem ta dando assim


<img src="nome_renomeado.CADE A EXTENSÃO"> a extensão n ta aparecendo fica só o "."


<?php
$descricao = $_POST['txtDesc'];
$idCategoria = $_POST['idCategoria'];
$caminhoA = "img/";
$quantos = 100; 


 if(!file_exists($caminhoA)) {
		mkdir($caminhoA);
 }


for($i = 0; $i < $quantos; $i++) {
  $nomeArquivo = $caminhoA. $_FILES['arquivo']['name'][$i];
  if($nomeArquivo and $descricao and $idCategoria){
	  
	   preg_match("/.(gif|bmp|png|jpg|jpeg){1}$/i", $nomeArquivo ['name'], $ext);
		   $nome = md5(uniqid(time())) . "." . $ext[1];

	  
	  $nomeArquivo = $caminhoA . $nome;

	if(@move_uploaded_file($_FILES['arquivo']['tmp_name'][$i], $nomeArquivo)) {
	
	  include("config.php");
	  $sql = "INSERT INTO tbimagens(descFoto,imgFoto,idCategoria)VALUES('$descricao','$nomeArquivo','$idCategoria')";
	  if($qr = mysql_query($sql)){
		  echo"<script>alert('Foto cadastrado com sucesso!!!');</script>";
		  echo"<script>location.href='cadastro.php'</script>";
		  
	  }else{
		  echo"<script>alert('Erro ao cadastrar');</script>";
		  echo"<script>location.href='cadastro.php'</script>";
	  }
	}
  }else{
	$campos .= $i .',';  
  }

} 

echo"Campos não preenchidos: '".$campos."'. <a href='java script:history.back(-1)'>Clique aqui para voltar</a>";

?>

abraços ;)


#2 Paulo Freitas

Paulo Freitas

    ××××××× LRU #456504 ××××××× ××××××× LRM #364686 ×××××××

  • Ex-Admins
  • 5612 posts
  • Sexo:Masculino
  • Localidade:Campinas - SP

Posted 10/11/2009, 06:41

Use pathinfo() para obter a extensão.

[]’sAté mais

#3 thioz21

thioz21

    Normal

  • Usuários
  • 116 posts
  • Sexo:Masculino
  • Localidade:Passos

Posted 10/11/2009, 06:54

Use pathinfo() para obter a extensão.

[]’s


Paulo Ricardo, dei uma olhada nessa função, só que não entendi como usar no meu caso.. poderia dar uma luz

abraço

Edição feita por: thioz21, 10/11/2009, 06:55.


#4 MBA

MBA

    24 Horas

  • Usuários
  • 412 posts
  • Sexo:Masculino
  • Localidade:Belo Horizonte
  • Interesses:Desenvolvimento WEB

Posted 10/11/2009, 07:29

Bom dia amigo.
Tudo bom?

Com essa função você busca entre outras coisas a extensão do arquivo.
Assim sendo você ao renomear, concatena o nome desejado à extensão.

É um jeito.

Abraços.
Mateus
Mateus Antunes
MBASistemas

#5 thioz21

thioz21

    Normal

  • Usuários
  • 116 posts
  • Sexo:Masculino
  • Localidade:Passos

Posted 10/11/2009, 07:31

tudo blza e com vc? então, so que não to conseguindo adaptar ele no meu código..

Edição feita por: thioz21, 10/11/2009, 07:33.


#6 Squall Robert

Squall Robert

    Mr. Squall - Mais Carne do que Osso (hihi)

  • Usuários
  • 507 posts
  • Sexo:Masculino
  • Localidade:Curitiba
  • Interesses:Php ... Php...Php

Posted 12/11/2009, 10:08

ow man...

eu nao testei

mas acho que seu problema esta aqui

preg_match("/.(gif|bmp|png|jpg|jpeg){1}$/i", $nomeArquivo ['name'], $ext);
$nome = md5(uniqid(time())) . "." . $ext[1];



onde esta dizendo que $ext[1] é um vetor

eu nunca usei


mas tenta assim


$ext = preg_match("/.(gif|bmp|png|jpg|jpeg){1}$/i", $nomeArquivo ['name'], $ext);



e aqui vc esta pegando o indice 1 por que?


$ext[1] ?


pra um print_r em $ext pra ver se realmente é um vetor
<?php

$squall = new Squall();

$squall->Ajudando("você");

$resultado = $squall->solucao();  ?>

#7 thioz21

thioz21

    Normal

  • Usuários
  • 116 posts
  • Sexo:Masculino
  • Localidade:Passos

Posted 15/11/2009, 04:33

e ai.. verdade meu problema estava ai, agora funciono.. vlw


#8 Virou Web

Virou Web

    Turista

  • Usuários
  • 40 posts
  • Sexo:Não informado

Posted 15/11/2009, 17:49

$_FILES['imagem']['type']
deve resolver :)
Virou Web - Soluções em Vendas Online
Lojas Virtuais, Shopping Virtual, Comércio Eletrônico
www.virouweb.com.br

#9 Paulo Freitas

Paulo Freitas

    ××××××× LRU #456504 ××××××× ××××××× LRM #364686 ×××××××

  • Ex-Admins
  • 5612 posts
  • Sexo:Masculino
  • Localidade:Campinas - SP

Posted 16/11/2009, 13:06

$_FILES['imagem']['type']
deve resolver :)

Ele deseja a extensão, este é o tipo MIME... :assobio:

Uma dica em relação a obtenção do tipo MIME por este modo: essa informação não é confiável - ela é enviada pelo navegador, não pelo servidor. Se você enviar um arquivo sem extensão, o navegador não vai saber identificar corretamente o tipo MIME. ;)

[]’sAté mais




1 user(s) are reading this topic

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq