Archive for the 'php' Category

Edição de arquivos .ctp no Eclipse

Para quem usa o CakePHP como framework de desenvolvimento PHP e o Eclipse como IDE fica extremamente chato ter que alterar os arquivos .ctp que são reconhecidos como texto pelo Eclipse. Mas é possível alterar isso para ele interpretar os arquivos .ctp como arquivos PHP. Os passos são:

– Abra o Eclipse
– Clique em Window e depois em Preferences
– Clique em General na lista que é mostrada
– Abaixo de General clique em Content-Types
– No painel direito clique em Text para expandir
– Selecione PHP Content-Types
– Abaixo serão mostradas algumas extensões, como *.php,*.php3,*.php4, agora clique em Add e digite *.ctp no campo de entrada.
– Clique em Ok e depois em Ok novamente.

É necessário fechar os arquivos .ctp que estejam abertos e depois… SUCESSO!

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í!!!