Upload de arquivos e validação de tipo do mesmo
Publicado por davi vidal 06/11/2006
[ Hits: 9.843 ]
Homepage: https://linkedin.com/in/davividal
Pequeno script para enviar imagens para uma página da WEB e cadastrá-las em um banco de dados relacionando com produtos.
<?php
define("IMG","imagens/");
function enviar_fotos($n)
{
$consulta="SELECT MAX(id) FROM produtos";
$resultado=mysql_query($consulta);
$tiID=mysql_fetch_array($resultado);
$pID=$tiID[0];
for($i=0;$i<$n;$i++)
{
if (is_uploaded_file($_FILES["foto$i"]['tmp_name']))
{
echo "<br><b>Foto #".($i+1)."</b><br>";
$nfoto="foto$i";
$size = $_FILES[$nfoto]['size'];
if ($size > 1000000)
{
echo 'Arquivo muito grande. Por favor tente novamente.';
}
$cFT="SELECT MAX(id) FROM fotos WHERE id_imovel='$pID'";
$rFT=mysql_query($cFT) or die(mysql_error());
if(mysql_num_rows($rFT) or die(mysql_error()))
{
$nFT=mysql_fetch_array($rFT);
$mFT=$nFT[0];
$mFT++;
}
else
{
$mFT=0;
}
//$tipo=;
$tipo=exif_imagetype($_FILES[$nfoto]['tmp_name']);
$valido=true;
if (eregi("jpeg$",$tipo))
{
$extensao="jpg";
}
elseif (eregi("gif$",$tipo))
{
$extensao="gif";
}
elseif (eregi("tif[f]$",$tipo))
{
$extensao="tif";
}
elseif (eregi("png$",$tipo))
{
$extensao="png";
}
else
{
print_r($_FILES[$nfoto]);
$msg ="<br><center>Tipo de arquivo do arquivo $nfoto inválido!<br>";
$msg.=$_FILES[$nfoto]['type']."</center><br>";
erro($msg,false);
$valido=false;
}
$_FILES[$nfoto]['name']='i'.$pID.'f'.$mFT.'.'.$extensao;
if ($valido)
{
if (move_uploaded_file($_FILES[$nfoto]['tmp_name'],IMG.$_FILES[$nfoto]['name']))
{
echo '<br>Arquivo enviado!<br>Informações:<BR>';
$insercao="INSERT INTO fotos(id_prod,ext) VALUES('$pID','$extensao')";
$inserir=mysql_query($insercao);
}
else
{
echo '<br>Ocorreu um erro ao enviar o arquivo<BR>Informações:<BR>';
}
print_r($_FILES[$nfoto]);
echo "<center><br><img src=\"".IMG.$_FILES[$nfoto]['name']."\"><br></center>";
}
echo "<hr>";
}
}
}
function erro($mensagem,$grave)
{
echo "<center>$mensagem</center>";
if ($grave)
{
exit;
}
}
?>
Gerando um arquivo randômico com PHP
Busca por palavra dentro de arquivos
Listar o conteúdo de um diretório
librePods: liberte seus AirPods em 2026
Bluefin - A nova geração de ambientes de trabalho Linux
Como atualizar sua versão estável do Debian
Instalando e definindo as novas fontes Adwaita no GNOME
Configurar aviso da temperatura da CPU no Conky
Pós-instalação do elementary OS 8.1
Quer auto-organizar janelas (tiling) no seu Linux? Veja como no Plasma 6 e no Gnome
Copiando caminho atual do terminal direto para o clipboard do teclado
Após todos esses anos... youtube! (2)
archlinux resolução abaixou após atualização [RESOLVIDO] (19)
Conky não mostra temperaturas da CPU no notebook (14)
Registro do 'last&qu... errado [RESOLVIDO] (9)
O WiFi não reconhece minha rede depois que o processo de suspensão é r... (2)









