Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Alzlro

[Resolvido]  com if

Recommended Posts

Srs,

 

Estou construindo um site para meu projeto final que será em DEZEMBRO !! Tô correndo muito.

 

Bem , estou em uma página que o usuário faz um upload de imagem e estou querendo incluir um script que gera uma thumb desta imagem mas, como é natural, estou tendo algumas dificuldades e peço a ajuda de vcs.

 

 

Não estou conseguindo fazer com que este if abaixo funcione corretamente. Não consigo fechá- lo. Podem me ajudar?

 

 

<?

$image_thumb = "imagem.jpg";

 

if ($image_thumb == ""){ } Aqui eu quero que realmente não faça nada.

 

else

 

{

 

 

 

<?php

// DEFINE A IMAGEM DA QUAL SERÁ GERADA A MINIATURA

// Lembrar que essa imagem tem que estar no diretório do script...

// .. nenhum teste será feito para saber se ela existe

$img= "$image_thumb";

$imagem = "../fotos/"."$img" ; // Tipo: JPG

 

// DEFINIR O NOME DO ARQUIVO PARA O THUMBNAIL

$thumbnail = explode('.', $imagem);

$thumbnail = $thumbnail[0]."_thumbnail.jpg";

 

 

// LÊ A IMAGEM DE ORIGEM

$img_origem = ImageCreateFromJPEG($imagem);

 

 

 

// PEGA AS DIMENSÕES DA IMAGEM DE ORIGEM

$origem_x = imagesx($img_origem); // Largura

$origem_y = imagesy($img_origem); // Altura

 

 

// DEFINIR AS DIMENSÕES PARA O THUMBNAIL

$x = 120; // Largura

$y = 120; // Altura

 

 

// ESCOLHE A LARGURA MAIOR E, BASEADO NELA, GERA A LARGURA MENOR

if($origem_x > $origem_y) { // Se a largura for maior que a altura

$final_x = $x; // A largura será a do thumbnail

$final_y = floor($x * $origem_y / $origem_x); // A altura é calculada

$f_x = 0; // Colar no x = 0

$f_y = round(($y / 2) - ($final_y / 2)); // Centralizar a imagem no meio y do thumbnail

} else { // Se a altura for maior ou igual à largura

$final_x = floor($y * $origem_x / $origem_y); // Calcula a largura

$final_y = $y; // A altura será a do thumbnail

$f_x = round(($x / 2) - ($final_x / 2)); // Centraliza a imagem no meio x do thumbnail

$f_y = 0; // Colar no y = 0

}

 

// CRIA A IMAGEM FINAL PARA O THUMBNAIL

$img_final = ImageCreate($x,$y);

 

// COPIA A IMAGEM ORIGINAL PARA DENTRO DO THUMBNAIL

ImageCopyResized($img_final, $img_origem, $f_x, $f_y, 0, 0, $final_x, $final_y, $origem_x, $origem_y);

 

// SALVA O THUMBNAIL

ImageJPEG($img_final, $thumbnail);

 

// LIBERA A MEMÓRIA

ImageDestroy($img_origem);

ImageDestroy($img_final);

 

?>

}

?> Achei que seria aqui o fechamento do if mas não deu.

 

 

 

Abçs

Compartilhar este post


Link para o post
Compartilhar em outros sites

?>
}
?> Achei que seria aqui o fechamento do if mas não deu.
Tem 2 "?>" é isso mesmo?

Mas oq acontece? o php manda algum erro na tela?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Testa ai:

 

<?php
$image_thumb = "imagem.jpg";

if ($image_thumb !=''){
// DEFINE A IMAGEM DA QUAL SERÁ GERADA A MINIATURA
// Lembrar que essa imagem tem que estar no diretório do script...
// .. nenhum teste será feito para saber se ela existe
$img= $image_thumb;
$imagem = '../fotos/'.$img; // Tipo: JPG

// DEFINIR O NOME DO ARQUIVO PARA O THUMBNAIL
$thumbnail = explode('.', $imagem);
$thumbnail = $thumbnail[0].'_thumbnail.jpg';


// LÊ A IMAGEM DE ORIGEM
$img_origem = ImageCreateFromJPEG($imagem);



// PEGA AS DIMENSÕES DA IMAGEM DE ORIGEM
$origem_x = imagesx($img_origem); // Largura
$origem_y = imagesy($img_origem); // Altura


// DEFINIR AS DIMENSÕES PARA O THUMBNAIL
$x = 120; // Largura
$y = 120; // Altura


// ESCOLHE A LARGURA MAIOR E, BASEADO NELA, GERA A LARGURA MENOR
if($origem_x > $origem_y) { // Se a largura for maior que a altura
$final_x = $x; // A largura será a do thumbnail
$final_y = floor($x * $origem_y / $origem_x); // A altura é calculada
$f_x = 0; // Colar no x = 0
$f_y = round(($y / 2) - ($final_y / 2)); // Centralizar a imagem no meio y do thumbnail
} else { // Se a altura for maior ou igual à largura
$final_x = floor($y * $origem_x / $origem_y); // Calcula a largura
$final_y = $y; // A altura será a do thumbnail
$f_x = round(($x / 2) - ($final_x / 2)); // Centraliza a imagem no meio x do thumbnail
$f_y = 0; // Colar no y = 0
}

// CRIA A IMAGEM FINAL PARA O THUMBNAIL
$img_final = ImageCreate($x,$y);

// COPIA A IMAGEM ORIGINAL PARA DENTRO DO THUMBNAIL
ImageCopyResized($img_final, $img_origem, $f_x, $f_y, 0, 0, $final_x, $final_y, $origem_x, $origem_y);

// SALVA O THUMBNAIL
ImageJPEG($img_final, $thumbnail);

// LIBERA A MEMÓRIA
ImageDestroy($img_origem);
ImageDestroy($img_final);
}
?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Valeu Alaerte ! o sinal de exclamação significa negação ou "diferente de" certo?

 

Obrigado. Mas percebi onde eu tinha errado. Tinha um resto de script perdido mais abaixo que era idêntico ao final do if. Daí a confusão.

 

 

Obrigado mais uma vez!!!!

 

 

Podem fechar o tópico.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.