Fóruns sobre PHP, JavaScript, HTML, MySQLi, jQuery, Banco de Dados, CSS


Moderador: web

 
Primeiras postagens
Primeiras postagens
Tópico Autor
Mensagens: 6

Ajuda com if

02-11-2008 21:13

Srs, sou novato aqui e também em programação. Tô começando com PHP.

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 == ""){ } 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); ?> } ?>


O problema é só com o if . O script separado tá funcionando ok.

Abçs
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17563
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Ajuda com if

02-11-2008 21:28

Editei seu script para destacar 2 pontos que achei mais notáveis, o primeiro if é para verificar se o arquivo existe, se não cria o thumbnail, certo?
0
A melhor hospedagem para o seu site HostGator!
 
Primeiras postagens
Primeiras postagens
Tópico Autor
Mensagens: 6

Ajuda com if

02-11-2008 21:39

Não. É que esta página é chamada via $_POST e também é um formulário e eu quero que só se o usuário fizer up-load de imagem seja executada a criação do thumb. Se o usuário não quiser fazer, nada seja executado.


Obg
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17563
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Ajuda com if

02-11-2008 21:44

Então tem um input file, se não vier a figura, logicamente não vai ser feito o upload. Com base nisso, suponha que seu input tenha o name: foto

<?php if($_POST['foto']=="") { echo "não faz nada"; } else { // se vier algum valor, roda o conteúdo abaixo ?> aqui vem todo seu código funcional <?php } // aqui é fechado o else principal ?>

0
A melhor hospedagem para o seu site HostGator!
 
Primeiras postagens
Primeiras postagens
Tópico Autor
Mensagens: 6

Ajuda com if

02-11-2008 22:02

A página carrega mas aparece o final do if } ?>

Vou postar o trecho inteiro:

<? if ($_POST['foto']==""){     }     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); ?> <?php              } ?>


Tentei alterar excluindo o penúltimo ?> sozinho e depois junto com o início dele <?PHP mas dá a mesma coisa.

Abçs
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17563
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Ajuda com if

02-11-2008 22:08

Acho que teu PHP tá bugado, rodei o script aqui e está sem problema, ao rodar o script não mostra nada, já que não to entrando na página via POST enviando foto, já quando tento acessar a página pelo método correto carrega o script para criar o thumb.

Testei no Xampp com PHP5
0
A melhor hospedagem para o seu site HostGator!
 
Primeiras postagens
Primeiras postagens
Tópico Autor
Mensagens: 6

Ajuda com if

02-11-2008 22:31

Mas eu já fiz alguns testes simples com if (echo....) e rodou normalmente. Só quando coloco esse bloco de instruções dá esse problema.

Não sei se tem a ver mas eu tô fazendo assim: esta página recebe três valores via POST. " $template<br>";
" $color<br>" e " $tam" destas eu uso duas em concatenação e exibo uma imagem:

echo "<img src=\"" . $template . $color . ".jpg\" alt=\"\"  width=\"380\" height=\"410\" />";  

Quando esta página carrega já é exibida a imagem. Tá funcionando legal.

Esta mesma página é um form que depois do Upload a página carrega novamente.

<form action="<? echo $PHP_SELF ?>"  method=POST  ENCTYPE="multipart/form-data">

A parte do up load também tá funcionando . Agora eu tô querendo pegar a imagem e gerar a thumb. O script da thumb sepadrado tá funcionando legal.

Que pode ser?
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17563
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Ajuda com if

02-11-2008 22:35

Eu acho que o if é condicional, se ele está informando que só vai mostrar algo se tiver a condição tal ele faz isso, testei seu script aqui como está dizendo e rodou.

Segue abaixo um link com a base do if else
http://www.codigosnaweb.com/forum/viewtopic.php?t=116
0
A melhor hospedagem para o seu site HostGator!
 
Primeiras postagens
Primeiras postagens
Tópico Autor
Mensagens: 6

Ajuda com if

02-11-2008 22:43

Fiz mais um teste: copiei todo o if e criei um arquivo sepadado. Funcionou normalmente. Então não é ero de bug. Acho que tem alguma coisa antes ou depois que tá provocando isso.

Vou ver se descubro. qualquer coisa eu posto depois. Obg!
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17563
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Ajuda com if

02-11-2008 22:49

Flw.
0
A melhor hospedagem para o seu site HostGator!
 
Primeiras postagens
Primeiras postagens
Tópico Autor
Mensagens: 6

Ajuda com if

02-11-2008 23:17

Descobri ! não era o final do if que tava sendo impresso na tela. Era um outro pedaço que tava perdido mais abaixo no código.

Obrigado pela ajuda !!! Só não feche o tópico porque ainda quero deajuda em mais uma coisa.

Depois eu posto

Valeu mais uma vez!

Abçs
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17563
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Ajuda com if

02-11-2008 23:27

Se não for relacionado ao mesmo problema abra um novo tópico.
0
A melhor hospedagem para o seu site HostGator!

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado