Upload de arquivos e validação de tipo do mesmo
Publicado por davi vidal 06/11/2006
[ Hits: 9.823 ]
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;
}
}
?>
Página de downloads que identifica arquivos por extensão
Visualizador de Imagens em PHP-GTK2
Upload de arquivos com barra de progresso muito util
Cirurgia para acelerar o openSUSE em HD externo via USB
Void Server como Domain Control
Modo Simples de Baixar e Usar o bash-completion
Monitorando o Preço do Bitcoin ou sua Cripto Favorita em Tempo Real com um Widget Flutuante
[Resolvido] VirtualBox can't enable the AMD-V extension
Como verificar a saúde dos discos no Linux
Como instalar , particionar, formatar e montar um HD adicional no Linux?
Como automatizar sua instalação do Ubuntu para desenvolvimento de software.
Quais os códigos mais dificeis que vcs sabem fazer? (11)
systemd-resol... precisa ser reiniciado periodicamente [RESOLVIDO] (7)









