Eu utilzo este. <?
include("conexao.php");
$pess = $_GET['pess'];
$destaques = $_GET['destaques'];
echo "<center><h2>Envio do Destaque: <b>$nome_de</b> para o Associado ou Cliente: <b>$nome_cliente</b>.</h2></center>";
// Prepara a variável caso o formulário tenha sido postado
$arquivo = isset($_FILES["foto"]) ? $_FILES["foto"] : FALSE;
$config = array();
// Tamano máximo da imagem, em bytes
$config["tamanho"] = 48000;
// Largura Máxima, em pixels
$config["largura"] = 350;
// Altura Máxima, em pixels
$config["altura"] = 350;
// Diretório onde a imagem será salva
$config["diretorio"] = "../fotos/";
// Gera um nome para a imagem e verifica se já não existe, caso exista, gera outro nome e assim sucessivamente..
// Função Recursiva
function nome($extensao){
global $config;
// Gera um nome único para a imagem
$temp = substr(md5(uniqid(time())), 0, 10);
$imagem_nome = $temp . "." . $extensao;
// Verifica se o arquivo já existe, caso positivo, chama essa função novamente
if(file_exists($config["diretorio"] . $imagem_nome)){
$imagem_nome = nome($extensao);
}
return $imagem_nome;
}
if($arquivo){
$erro = array();
// Verifica o mime-type do arquivo para ver se é de imagem.
// Caso fosse verificar a extensão do nome de arquivo, o código deveria ser:
// if(!eregi("\.(jpg|jpeg|bmp|gif|png){1}$", $arquivo["name"])) {
// $erro[] = "Arquivo em formato inválido! A imagem deve ser jpg, jpeg, bmp, gif ou png. Envie outro arquivo"; }
// Mas, o que ocorre é que alguns usuários mal-intencionados, podem pegar um vírus .exe e simplesmente mudar a extensão
// para alguma das imagens e enviar. Então, não adiantaria em nada verificar a extensão do nome do arquivo.
if(!eregi("^image\/(pjpeg|jpeg|png|gif|bmp)$", $arquivo["type"])){
$erro[] = "Arquivo em formato inválido! A imagem deve ser jpg, gif ou png. Envie outro arquivo";
} else {
// Verifica tamanho do arquivo
if($arquivo["size"] > $config["tamanho"]){
$erro[] = "Arquivo em tamanho muito grande! A imagem deve ser de no máximo " . $config["tamanho"] . " bytes. Envie outro arquivo";
}
// Para verificar as dimensões da imagem
$tamanhos = getimagesize($arquivo["tmp_name"]);
// Verifica largura
if($tamanhos[0] > $config["largura"]){
$erro[] = "Largura da imagem não deve ultrapassar " . $config["largura"] . " pixels";
}
// Verifica altura
if($tamanhos[1] > $config["altura"]){
$erro[] = "Altura da imagem não deve ultrapassar " . $config["altura"] . " pixels";
}
}
if(!sizeof($erro)){
// Pega extensão do arquivo, o indice 1 do array conterá a extensão
preg_match("/\.(gif|bmp|png|jpg|jpeg){1}$/i", $arquivo["name"], $ext);
// Gera nome único para a imagem
$imagem_nome = nome($ext[1]);
// Caminho de onde a imagem ficará
$imagem_dir = $config["diretorio"] . $imagem_nome;
// Faz o upload da imagem
move_uploaded_file($arquivo["tmp_name"], $imagem_dir);
$pess = $HTTP_POST_VARS["pess"];
$destaques = $HTTP_POST_VARS["destaques"];
$caminho_foto = $imagem_nome;
$data = "$ano-$mes-$dia";
$alterar = mysql_query("INSERT INTO pess_destq (id_pess, id_de, descricao, data, dtvalidade) VALUES ('$pess', '$destaques', 'fotos/$caminho_foto', now(), '$data')") or die(mysql_error());
}
}
?>
<html>
<head>
<title>:: Destaque: <? echo $nome_de; ?>, para o Associado ou Cliente: <? echo $nome_cliente; ?> ::</title>
<link href='../funcoes/estilo.css' rel='stylesheet' type='text/css'>
</head>
<body>
<center><BR>
<?
// Imagem foi enviada com sucesso, mostra mensagem de SUCESSO
if($arquivo && !sizeof($erro)){
echo "<img src=\"" . $imagem_dir . "\" border=0>";
echo "<script> alert('Seu Destaque: $nome_de, foi gravado com sucesso !!!');";
echo "document.location.href = \"pessoa_fisica.php\";";
echo "</script>";
//echo "<a href=javascript:;window.close()><center>Fechar janela</font></a>";
}/* Ocorreu algum erro ou ainda o formulário não foi postado*/ else {
?>
<form action="<?echo $PHP_SELF?>" method="post" ENCTYPE="multipart/form-data">
<div align="center">Envie sua foto em formato gif, jpg ou png.<BR>
A imagem não deve ter mais que <? echo $config["tamanho"] ?> bytes e deve ter <? echo $config["largura"] . "x" . $config["altura"] ?> pixels.<BR>
</div>
<input name="pess" type="hidden" id="pess" value="<?=$pess?>">
<input name="destaques" type="hidden" id="destaques" value="<?=$destaques?>">
<table border=0 cellpadding=2 cellspacing=1 align=center>
<?
if(sizeof($erro)){
echo "<tr><td colspan=2 bgcolor=red><B><U>Ocorreu(am) o(s) seguinte(s) erro(s):</u><BR>";
foreach($erro as $err){
echo " - " . $err . "<BR>";
echo "<a href=javascript:;history.go(-1)><center><font color=#ffffff>Tente de novo</font></center></a>";
exit;
}
echo "</B></td></tr>";
}
?>
<tr><td align=center>Enviar Foto: <input name=foto type=file class="botao" size=30></td></tr>
<input type="hidden" name="cod_prod" value="<?php echo $cod_prod?>">
<tr><td align=center> </td></tr>
<tr>
<td align=center><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td>Data de Validade </td>
<td>
<select name="dia" class="campo" id="dia">
<option value="0">DIA</option>
<option value="01">01</option>
<option value="02">02</option>
<option value="03">03</option>
<option value="04">04</option>
<option value="05">05</option>
<option value="06">06</option>
<option value="07">07</option>
<option value="08">08</option>
<option value="09">09</option>
<option value="10">10</option>
<option value="11">11</option>
<option value="12">12</option>
<option value="13">13</option>
<option value="14">14</option>
<option value="15">15</option>
<option value="16">16</option>
<option value="17">17</option>
<option value="18">18</option>
<option value="19">19</option>
<option value="20">20</option>
<option value="21">21</option>
<option value="22">22</option>
<option value="23">23</option>
<option value="24">24</option>
<option value="25">25</option>
<option value="26">26</option>
<option value="27">27</option>
<option value="28">28</option>
<option value="29">29</option>
<option value="30">30</option>
<option value="31">31</option>
</select>
/
<select name="mes" class="campo" id="mes">
<option value="0">MÊS</option>
<option value="01">01</option>
<option value="02">02</option>
<option value="03">03</option>
<option value="04">04</option>
<option value="05">05</option>
<option value="06">06</option>
<option value="07">07</option>
<option value="08">08</option>
<option value="09">09</option>
<option value="10">10</option>
<option value="11">11</option>
<option value="12">12</option>
</select>
/
<select name="ano" class="campo" id="ano">
<option value="0">ANO</option>
<option value="2005">2005</option>
<option value="2006">2006</option>
<option value="2007">2007</option>
<option value="2008">2008</option>
<option value="2009">2009</option>
<option value="2010">2010</option>
<option value="2011">2011</option>
<option value="2012">2012</option>
<option value="2013">2013</option>
<option value="2014">2014</option>
<option value="2015">2015</option>
</select></td>
</tr>
</table></td>
</tr>
<tr>
<td align=center> </td>
</tr>
<tr>
<td align=center><input type=submit class="botao" value="Ok!"></td>
</tr>
</table>
</form>
<?
}
?>
<br>
</body>
</html>