Upload de imagens com auto resize
Boa tarde. Encontei um codigo para upload de imagens php que funciona bastante bem. Fiz alguam adaptações e está bastante bom. No entanto tenho um problema: eu queria que ao fazer o upload das imagens fizesse o auto resize para ficarem com a resolução mais baxa para não pesar na web em vez de avisar é uma imagem muito grande.
Alguem me consegue ajudar no código profavor.
Código:
<?php
session_start();//iniciar o uso da variavel de sessão
require ('../conectar_front.php');
error_reporting(0); // força a não mostrar erros.Colocar 0 para ambiente REAL e 1 para ambiente de teste
$tabela=$_GET["tabela"];
if ($_GET["id"]!="")
{
$sqlpatrimonio="select * from $tabela where " . $tabela . "_id = " . $_GET["id"];
$dadospatrimonio=mysql_query($sqlpatrimonio);
$linha=mysql_fetch_array($dadospatrimonio);
$id = $linha["" . $tabela . "_id"];
}
// Se o usuário clicou no botão cadastrar efetua as ações
if ($_POST['cadastrar']) {
// Recupera os dados dos campos
$nome = $_POST['nome'];
$email = $_POST['email'];
$foto = $_FILES["foto"];
// Se a foto estiver sido selecionada
if (!empty($foto["name"])) {
list($width, $height) = getimagesize($target);
$modwidth = 500;
$diff = $width / $modwidth;
$modheight = $height / $diff;
$tn = imagecreatetruecolor($modwidth, $modheight) ;
$image = imagecreatefromjpeg($file) ;
imagecopyresampled($tn, $image, 0, 0, 0, 0, $modwidth, $modheight, $width, $height) ;
// Verifica se o arquivo é uma imagem
if(!eregi("^image\/(pjpeg|jpeg|png|gif|bmp)$", $foto["type"])){
$error[1] = "Isso não é uma imagem.";
}
// Pega as dimensões da imagem
$dimensoes = getimagesize($foto["tmp_name"]);
// Verifica se a largura da imagem é maior que a largura permitida
if($dimensoes[0] > $largura) {
$error[2] = "A largura da imagem não deve ultrapassar ".$largura." pixels";
}
// Verifica se a altura da imagem é maior que a altura permitida
if($dimensoes[1] > $altura) {
$error[3] = "Altura da imagem não deve ultrapassar ".$altura." pixels";
}
// Verifica se o tamanho da imagem é maior que o tamanho permitido
if($arquivo["size"] > $tamanho) {
$error[4] = "A imagem deve ter no máximo ".$tamanho." bytes";
}
// Se não houver nenhum erro
if (count($error) == 0) {
// Pega extensão da imagem
preg_match("/\.(gif|bmp|png|jpg|jpeg){1}$/i", $foto["name"], $ext);
// Gera um nome único para a imagem
$nome_imagem = md5(uniqid(time())) . "." . $ext[1];
// Caminho de onde ficará a imagem
$caminho_imagem = "fotos/" . $nome_imagem;
// Faz o upload da imagem para seu respectivo caminho
move_uploaded_file($foto["tmp_name"], $caminho_imagem);
// Insere os dados no banco
$sql = mysql_query("UPDATE " . $_POST["tabela"] . " SET " . $_POST["tabela"] . "_imagem = '" . $nome_imagem . "' WHERE " . $_POST["tabela"] . "_id ='" . $_POST["id"] . "'");
// Se os dados forem inseridos com sucesso
if ($sql){
echo("<script language='Javascript'>");; //inicio de limitadores de Javascript
echo("alert('Imagem actualizado com sucesso!');"); //caixa de alerta, continua com acção do utilizador
echo("window.opener.location.href='" . $_POST["tabela"] . "_editar.php?id=" . $_POST["id"] . "';"); // Actualiza a pagina que o abriu
echo("window.close();"); //fecha a janela
echo("</script>"); //fim de limitador de javascript
}
}
// Se houver mensagens de erro, exibe-as
if (count($error) != 0) {
foreach ($error as $erro) {
echo $erro . "<br />";
}
}
}
}
?>
<script type="text/javascript" src=" fckeditor /fckeditor.js"></script><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="[http://www.w3.org/1999/xhtml">](http://www.w3.org/1999/xhtml)
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Alterar Património</title>
<script language="javascript" type="text/javascript" src="js/datetimepicker.js">
</script>
<script language="Javascript1.2" src="js/editor.js"></script>
<script>
_editor_url = "";
</script>
<style type="text/css"><!--
body {
background-color: #D5E7F1;
}-->
</style>
<link href="../css.css" rel="stylesheet" type="text/css" />
</head>
<body>
<table width="100%" border="0" cellspacing="5" cellpadding="5">
<tr>
<td align="center"><table width="800" border="0" cellspacing="0" cellpadding="0">
<tr>
<td><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="150"><img src="../design/imagens/edit_brazao.jpg" width="150" height="150" /></td>
<td valign="top"><table width="100%" height="150" border="0" cellspacing="0" cellpadding="0">
<tr>
<td height="50" valign="top"><table width="100%" height="50" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="300" valign="bottom" background="../design/css/edit_css_titulo.jpg">UPLOAD Imagens</td>
<td><img src="../design/imagens/edit_canto_titulo.jpg" width="25" height="50" /></td>
</tr>
</table></td>
</tr>
<tr>
<td height="30" valign="top" background="../design/css/edit_linha_hotiz_sup.jpg"> </td>
</tr>
<tr>
<td height="70" bgcolor="#FFFFFF"> </td>
</tr>
</table></td>
<td width="30"><table width="100%" height="150" border="0" cellspacing="0" cellpadding="0">
<tr>
<td height="50"> </td>
</tr>
<tr>
<td height="30"><img src="../design/imagens/edit_canto_sup_dir.jpg" width="29" height="30" /></td>
</tr>
<tr>
<td height="70" background="../design/css/edit_linha_dir.jpg" bgcolor="#FFFFFF"> </td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
<tr>
<td><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="50"> </td>
<td width="30" background="../design/css/edit_linha_esq.jpg"> </td>
<td bgcolor="#FFFFFF"><table width="100%" border="0" cellpadding="0" cellspacing="0" bordercolor="#E6CD94">
<tr>
<td bgcolor="#E6CD94"><table width="100%" border="0" cellspacing="1" cellpadding="1">
<tr>
<td bgcolor="#FFFFFF"><form action="<?php echo $_SERVER['PHP_SELF'] ?>" method="post" enctype="multipart/form-data" name="cadastro" id="cadastro" >
<p> <span class="noticias_rapidas_data"><img src="../css/spacer.gif" width="5" height="5" />Imagem a exibir</span><br />
<img src="../css/spacer.gif" width="5" height="5" />
<input type="file" name="foto" />
</p>
<p>
<img src="../css/spacer.gif" width="5" height="5" />
<input type="submit" name="cadastrar" value="Upload" />
<input type="hidden" name="id" value="<?php echo $linha["" . $tabela . "_id"] ?>" />
<input type="hidden" name="tabela" value="<?php echo $tabela ?>" />
</p>
</form></td>
</tr>
</table></td>
</tr>
</table>
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td height="5"><img src="../css/spacer.gif" width="5" height="5" /></td>
</tr>
</table>
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td height="5"><img src="../css/spacer.gif" width="5" height="5" /></td>
</tr>
</table>
<table width="100%" border="0" cellpadding="0" cellspacing="0" bordercolor="#E6CD94">
<tr>
<td bgcolor="#E6CD94"><table width="100%" border="0" cellspacing="1" cellpadding="1">
<tr>
<td bgcolor="#FFFFFF"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td class="noticias_rapidas_data"><img src="../css/spacer.gif" width="5" height="5" />Imagem Actual</td>
</tr>
<tr>
<td class="admin_alinha_datas"><img src="../css/spacer.gif" width="5" height="5" />
<?php
$imagem=$linha["" . $tabela . "_imagem"];
echo "<img src='fotos/" . $imagem . "''width=112 height=112' alt='Sugestão de apresentação' /><br />";
?></td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
</table>
</td>
<td width="30" background="../design/css/edit_linha_dir.jpg"> </td>
</tr>
</table></td>
</tr>
<tr>
<td><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="50"> </td>
<td width="30"><img src="../design/imagens/edit_canto_inf_esq.jpg" width="30" height="30" /></td>
<td background="../design/css/edit_linha_hotiz_inf.jpg"> </td>
<td width="30"><img src="../design/imagens/edit_canto_inf_dir.jpg" width="29" height="30" /></td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
</table>
<script language="javascript1.2">editor_generate('corpo'); // field, width, height
</script>
</body>
</html>
Obrigado
Discussão (7)
Carregando comentários...