Upload de arquivos e validação de tipo do mesmo
Publicado por davi vidal 06/11/2006
[ Hits: 9.409 ]
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; } } ?>
Visualizador de Imagens em PHP-GTK2
Compartilhando a tela do Computador no Celular via Deskreen
Como Configurar um Túnel SSH Reverso para Acessar Sua Máquina Local a Partir de uma Máquina Remota
Configuração para desligamento automatizado de Computadores em um Ambiente Comercial
Efeito "livro" em arquivos PDF
Como resolver o erro no CUPS: Unable to get list of printer drivers
Flatpak: remover runtimes não usados e pacotes
Mudar o gerenciador de login (GDM para SDDM e vice-versa) - parte 2
Como atualizar o Debian 8 para o 10 (10)
Dica sobre iptables ACCEPT e DROP (6)
NGNIX - Aplicar SNAT para evitar roteamento assimetrico (29)
[Python] Automação de scan de vulnerabilidades
[Python] Script para analise de superficie de ataque
[Shell Script] Novo script para redimensionar, rotacionar, converter e espelhar arquivos de imagem
[Shell Script] Iniciador de DOOM (DSDA-DOOM, Doom Retro ou Woof!)
[Shell Script] Script para adicionar bordas às imagens de uma pasta