Wendell Inacio Postado Novembro 26, 2009 Denunciar Share Postado Novembro 26, 2009 Olá galera, ve se alguém pode me ajudar.Meu upload ta funcionando normal, mas queria redimensionar a imagem para que na hora da exibição não detone meu layout.Quero que a imagem seja redimensionada para no máximo 480 de largura/altura, pelo caso de ter fotos na horizontal ou vertical.Segue o codigo:<?include ("include/conecta_mysql.inc");session_start();//recuperando as variaveis$tipo_cate = $_REQUEST["tipo_cate"];$iditem = $_REQUEST["iditem"];//fim da recuperacao$erro = $config = array();// Prepara a variável do arquivo$arquivo = isset($_FILES["txtfile"]) ? $_FILES["txtfile"] : FALSE;// Tamanho máximo do arquivo (em bytes)$config["tamanho"] = 106883;// Largura máxima (pixels)$config["largura"] = 640;// Altura máxima (pixels)$config["altura"] = 640;// Formulário postado... executa as açõesif($arquivo){ // Verifica se o mime-type do arquivo é de imagem if(!eregi("^image\/(pjpeg|jpeg|png|gif|bmp)$", $arquivo["type"])) { $erro[] = "Arquivo em formato inválido! A imagem deve ser jpg, jpeg, bmp, 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"; } } // Imprime as mensagens de erro if(sizeof($erro)) { foreach($erro as $err) { //mensagem e redirecionamento $_SESSION['msg'] = $err; $_SESSION['msgcod'] = 1; header("location:upload.php?tipo_cate=$tipo_cate&iditem=$iditem"); //fim da mensagem e redirecionamento } } // Verificação de dados OK, nenhum erro ocorrido, executa então o upload... else { $resultado = mysql_query("SELECT * FROM tbl_foto where item_id=$iditem'");if(mysql_num_rows($resultado)<4) { // Pega extensão do arquivo preg_match("/\.(gif|bmp|png|jpg|jpeg){1}$/i", $arquivo["name], $ext); // Gera um nome único para a imagem $imagem_nome = md5(uniqid(time())) . "." . $ext[1]; // Caminho de onde a imagem ficará $imagem_dir = "../fotos/" . $imagem_nome; // Faz o upload da imagem move_uploaded_file($arquivo["tmp_name"], $imagem_dir);//cadastro no banco $sql=insert into tbl_foto(foto_url,item_id) values ('$imagem_nome','$iditem')"; $exec = mysql_query($sql); //mensagem e redirecionamento $_SESSION['msg] = "Foto enviada com sucesso"; $_SESSION['msgcod'] = 1; header("location:upload.php?tipo_cate=$tipo_cate&iditem=$iditem"); //fim da mensagem e redirecionamento }else{ //mensagem e redirecionamento $_SESSION['msg'] = "O número máximo de imagens cadastradas foi excedido"; $_SESSION['msgcod'] = 1; header("location:upload.php?tipo_cate=$tipo_cate&iditem=$iditem"); //fim da mensagem e redirecionamento } //fim do cadastro no banco }}?> Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Wendell Inacio
Olá galera, ve se alguém pode me ajudar.
Meu upload ta funcionando normal, mas queria redimensionar a imagem para que na hora da exibição não detone meu layout.
Quero que a imagem seja redimensionada para no máximo 480 de largura/altura, pelo caso de ter fotos na horizontal ou vertical.
Segue o codigo:
<?
include ("include/conecta_mysql.inc");
session_start();
//recuperando as variaveis
$tipo_cate = $_REQUEST["tipo_cate"];
$iditem = $_REQUEST["iditem"];
//fim da recuperacao
$erro = $config = array();
// Prepara a variável do arquivo
$arquivo = isset($_FILES["txtfile"]) ? $_FILES["txtfile"] : FALSE;
// Tamanho máximo do arquivo (em bytes)
$config["tamanho"] = 106883;
// Largura máxima (pixels)
$config["largura"] = 640;
// Altura máxima (pixels)
$config["altura"] = 640;
// Formulário postado... executa as ações
if($arquivo)
{
// Verifica se o mime-type do arquivo é de imagem
if(!eregi("^image\/(pjpeg|jpeg|png|gif|bmp)$", $arquivo["type"]))
{
$erro[] = "Arquivo em formato inválido! A imagem deve ser jpg, jpeg,
bmp, 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";
}
}
// Imprime as mensagens de erro
if(sizeof($erro))
{
foreach($erro as $err)
{
//mensagem e redirecionamento
$_SESSION['msg'] = $err;
$_SESSION['msgcod'] = 1;
header("location:upload.php?tipo_cate=$tipo_cate&iditem=$iditem");
//fim da mensagem e redirecionamento
}
}
// Verificação de dados OK, nenhum erro ocorrido, executa então o upload...
else
{
$resultado = mysql_query("SELECT * FROM tbl_foto where item_id=$iditem'");
if(mysql_num_rows($resultado)<4) {
// Pega extensão do arquivo
preg_match("/\.(gif|bmp|png|jpg|jpeg){1}$/i", $arquivo["name], $ext);
// Gera um nome único para a imagem
$imagem_nome = md5(uniqid(time())) . "." . $ext[1];
// Caminho de onde a imagem ficará
$imagem_dir = "../fotos/" . $imagem_nome;
// Faz o upload da imagem
move_uploaded_file($arquivo["tmp_name"], $imagem_dir);
//cadastro no banco
$sql=insert into tbl_foto(foto_url,item_id) values ('$imagem_nome','$iditem')";
$exec = mysql_query($sql);
//mensagem e redirecionamento
$_SESSION['msg] = "Foto enviada com sucesso";
$_SESSION['msgcod'] = 1;
header("location:upload.php?tipo_cate=$tipo_cate&iditem=$iditem");
//fim da mensagem e redirecionamento
}
else{
//mensagem e redirecionamento
$_SESSION['msg'] = "O número máximo de imagens cadastradas foi excedido";
$_SESSION['msgcod'] = 1;
header("location:upload.php?tipo_cate=$tipo_cate&iditem=$iditem");
//fim da mensagem e redirecionamento
}
//fim do cadastro no banco
}
}
?>
Link para o comentário
Compartilhar em outros sites
0 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.