Ir para conteúdo
Fórum Script Brasil
  • 0

Upload com redimensionamento de imagem


Wendell Inacio

Pergunta

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

Até agora não há respostas para essa pergunta

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.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,2k
    • Posts
      652k
×
×
  • Criar Novo...