Arquivo para a categoria 'php'

Redimensionando imagens com o PHP

Bem, estou simplesmente transcrevendo um script que utilizei a partir do livro “PHP para quem conhece PHP” - http://novatec.com.br/livros/phpavancado/

Nesse script a imagem pode ser redimensionada percentualmente ou com tamanhos fixos definidos pelo programador. Além disso a imagem deve ser JPG. Ainda irei trabalhar em cima dele mas acho que para quem procura algo simples já resolve um bocado!

Para usar o arquivo é só digitar: http://localhost/caminho/gera_miniatura.php?imagem=nome_da_imagem.jpg

Obviamente substituindo o caminho pelo definido por você e o nome_da_imagem pelo nome da imagem que você está utilizando (ela deve estar no mesmo diretório que o arquivo gera_miniatura.php

Só lembrando que no seu WEbServer a biblioteca GD precisa estar habilitada (em geral já está por default).

——————————-

gera_miniatura.php:

 

<?
$imagem = $_GET['imagem'];
$tamanho_fixo = “N”; //Caso deseja altura e largura fixa (definidas abaixo) troque por “S”
$altura_fixa = 192; //Caso $tamanho_fixo = “S”
$largura_fixa = 144; //Caso $tamanho_fixo = “S”
$percentual = 40; //Caso $tamanho_fixo = “N”

if (!file_exists($imagem))
{
  echo (“Arquivo não encontrado”);
   exit;
}

if ($tamanho_fixo==”N” && ($percentual<1 || $percentual>100)){
   echo (“Percentual deve ser entre 1 e 100″);
   exit;
}

$arquivo_mini = explode (“.”,$imagem);

$arquivo_mini = $arquivo_mini[0].”_mini.jpg”; //Adiciona _mini.JPG na imagem gerada

//Abaixo as dimensões da imagem original

$img_origem = ImageCreateFromJPEG($imagem);

$origem_x = ImagesX($img_origem);

$origem_y = ImagesY($img_origem);

if ($tamanho_fixo==”S”){
   $x = $largura_fixa;
   $y = $altura_fixa;
}else{
   $x = intval ($origem_x * $percentual / 100);
   $y = intval ($origem_y * $percentual / 100);
}

//Cria a imagem final (miniatura)

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

//Copia a imagem original redimensionada para dentro da imagem final

ImageCopyResampled($img_final,$img_origem,0,0,0,0,$x+1,$y+1,$origem_x,$origem_y);

//Salva o arquivo

ImageJPEG($img_final,$arquivo_mini);

//Libera memória alocada para as duas imagens

ImageDestroy($img_origem);

ImageDestroy($img_final);

?>

<html>
<head>
<title>Miniaturas</title>
</head>

<body>
<p align=”center”>
<img src=”<?echo $imagem;?>”>
<br>
<img src=”<?echo $arquivo_mini;?>”>
</p>

<p align=”center”>
<b>Imagem Original</b>: <?echo $imagem.”(“.$origem_x.”x”.$origem_y.”)”;?><br>
<b>Imagem Gerada</b>: <?echo $arquivo_mini.”(“.$x.”x”.$y.”)”;?><br>
</p>

</body>
</html>

——————————-

Espero que seja útil a alguém assim como foi ( e está sendo) para mim!

Calendário feito em PHP

Devido a uma necessidade acabei juntando vários códigos que eu vi por aí e acrescentei algumas coisas e fiz um calendário em PHP.

Pode ser alterado CSS e tudo mais para ele ficar bonitinho, eu deixei limpo só com HTML básico mesmo! Segue código e mais abaixo link para quem quiser baixar!

Calendário:

<?
//Caso a data nao seja passada através da URL então ele pega a data atual do sistema
if (empty($_GET['data'])) {
$dia = date(“d”);
$mes = date(“m”);
$ano = date(“Y”);
}else{
$data = explode(‘/’,$_GET['data']);
$dia = $data[0];
$mes = $data[1];
$ano = $data[2];
}

//Caso o mês seja janeiro (1) entao o mês anterior será dezembro (12), além de fazer o decréscimo de um ano
if($mes==1){
$mes_ant = 12;
$ano_ant = $ano – 1;
}else{
$mes_ant = $mes – 1;
$ano_ant = $ano;
}

//Caso o mês seja dezembro (12) entao o mês anterior será janeiro (1), além de fazer o acréscimo de um ano
if($mes==12){
$mes_prox = 1;
$ano_prox = $ano + 1;
}else{
$mes_prox = $mes+1;
$ano_prox = $ano;
}

//Dados da data atual
$hoje = date(“d”);
$mesAtual = date(“m”);
$anoAtual = date(“Y”);

//Faz um switch para mostrar o mês em português!
switch($mes){
case “01″ : $mesext = “Janeiro”; break;
case “02″ : $mesext = “Fevereiro”; break;
case “03″ : $mesext = “Março”; break;
case “04″ : $mesext = “Abril”; break;
case “05″ : $mesext = “Maio”; break;
case “06″ : $mesext = “Junho”; break;
case “07″ : $mesext = “Julho”; break;
case “08″ : $mesext = “Agosto”; break;
case “09″ : $mesext = “Setembro”; break;
case “10″ : $mesext = “Outubro”; break;
case “11″ : $mesext = “Novembro”; break;
case “12″ : $mesext = “Dezembro”; break;
}

//Primeiro dia do mês, variável usada para calcular o primeiro dia do mês no formato semanal (domingo….)!
$primeiroDiaNum = mktime(0,0,0,$mes,1,$ano) ;

//Primeiro dia no formato semanal
$primeiroDiaLet = date(‘D’, $primeiroDiaNum) ;

//Switch usado para calcular as colunas em branco antes do primeiro dia do mês,
//usado na montagem da tabela do calendário
switch($primeiroDiaLet){
case “Sun”: $blank = 0; break;
case “Mon”: $blank = 1; break;
case “Tue”: $blank = 2; break;
case “Wed”: $blank = 3; break;
case “Thu”: $blank = 4; break;
case “Fri”: $blank = 5; break;
case “Sat”: $blank = 6; break;
}

//Cálculo de quantos tidas o mês possui
$diasDoMes = cal_days_in_month(0,$mes,$ano);?>

<!– Montagem da tabela de calendário, adicionando o link para o mês anterior e o link para o prócimo mês
bem como escrevendo o mês por extenso! –>
<table border=”1″ align=”center” width=”154″ border=”0″ cellpadding=”0″ cellspacing=”0″>

<tr align=’center’>
<td width=”22″><a href=”?data=<?echo $dia.”/”.$mes_ant.”/”.$ano_ant?>”><<</a></td>
<td colspan=5><font size=”1″><strong><?echo $mesext.” / “.$ano; ?></strong></font></td>
<td width=”22″><a href=”?data=<?echo $dia.”/”.$mes_prox.”/”.$ano_prox?>”>>></a></td>
</tr>

<tr align=’center’ height=”15″>
<td colspan=7></td>
</tr>

<tr align=”center”>
<td width=22>D</td><td width=22>S</td><td width=22>T</td><td width=22>Q</td>
<td width=22>Q</td><td width=22>S</td><td width=22>S</td>
</tr>

<tr align=’center’ height=”5″>
<td colspan=7></td>
</tr>

<?
//Variável usada para quebrar a tabela em semanas (7 dias)
$contDias = 1;

echo “<tr align=’center’>”;

//Caso blank maior que 0 então acrescenta uma coluna na tabela
if ($blank > 0){
for ($x=0; $x < $blank; $x++){
echo “<td></td>”;
$contDias++;
}
}

//Loop de todos os dias do mês
for ($y=1; $y <= $diasDoMes; $y++){
//If usado para realçar o dia atual e também a data caso seja clicado em algum dia qualquer
if($y == $hoje){
echo “<td><strong><a href=?data=”.$y.”/”.$mes.”/”.$ano.”>”.$y.”</a></strong></td>”;
}else{
if($y == $dia){
echo “<td bgcolor=’#cccccc’><a href=?data=”.$y.”/”.$mes.”/”.$ano.”>”.$y.”</a></td>”;
}else{
echo “<td><a href=?data=”.$y.”/”.$mes.”/”.$ano.”>”.$y.”</a></td>”;
}
}

//Caso a variável seja igual a 7 então cria-se uma nova linha na tabela e o contador volta a 1
$contDias++;
if ($contDias > 7){
echo “</tr><tr align=’center’ height=5><td colspan=7></td></tr><tr align=’center’>”;
$contDias = 1;
}
}

//Caso o mês termine antes do sabádo completa a tabela com campos em branco
while ($contDias > 1 && $contDias <=7){
echo “<td></td>”;
$contDias++;
}
echo “</tr>
<tr align=’center’ height=15><td colspan=7></td></tr>
<tr align=’center’>
<td colspan=7>Hoje é : “.$hoje.”/”.$mesAtual.”/”.$anoAtual.”</td>
</tr>
</table>”;
?>

Link para baixar o arquivo calendario.php:

http://rapidshare.com/files/130157601/calendario.zip.html

Hello Mundo!

Vou plagiar o meu colega Alylson (alylson.wordpress.com), também chamado carinhosamente de boca pelo Emerson, e meu primeiro post será um Olá mundo!, porém, entretanto, todavia será em PHP:

<?php
echo “Olá Mundo!”;
?>

Mais fácil que bater na sogra né!?!?

Bem, eu abri esse blog só pra garantir o dominio, não sei se vou ficar atualizando ele… mas para complementar o Olá Mundo, só queria dar um ALÔ MUNDO pra todos os brasileiros, pelo amor de Deus gente, vamos abrir os olhos… CSS vindo aí!!!



Seguir

Obtenha todo post novo entregue na sua caixa de entrada.