SdevLab – Exemplo de Código | Quebra de linha em PHP

Fala galera!

Depois de um tempinho de férias (merecidas diga-se de passagem) estou de volta! Para hoje preparei uma dica leve de PHP, que é a respeito de quebra de linhas.

Quebra de linha em PHP

Se você estiver dando um echo para enviar uma mensagem no navegador, você pode usar por exemplo

echo “Linha 1<br />Linha 2″;

que o resultado vai ser a mensagem Linha 1 impressa em uma linha e Linha 2 em outra linha. Porém, se você estiver escrevendo um arquivo txt esta idéia não vai funcionar.

Supondo que você queira escrever um arquivo txt com o seguinte conteúdo:

Oi,
tudo bem?

em linhas de código teremos:

$conteudo = “Oi,\n”;
$conteudo .= “tudo bem?”;

Simples não?! Passei alguns minutos pensando nisso e achei que era uma boa para postar aqui! hehehehe
A manha é usar o \n no final da string! ela que faz o efeito da tecla enter no PHP!

Até a próxima!

SdevLab – Banco de Dados | Função SQL Recursiva em Postgre

Fala Galera!

Segue abaixo um exemplo que eu fiz depois de muita luta, que é uma função recursiva em plpgsql.

Função SQL Recursiva em Postgre

A idéia é bastante simples. Eu tenho uma tabela usuarios. Cada usuário pode ser pai ou filho de alguem, a função busca todos os níveis de uma árvore genealógica apartir da geração atual, ou seja, se eu procurar meu pai, o resultado vai ser meu pai e eu, e um filho caso eu tivesse.

Segue o exemplo:

 CREATE OR REPLACE FUNCTION tree(integer) 
RETURNS SETOF groups AS $BODY$ 
declare result record; child record; 
temp record; begin select into 
result * from users 
where user_id = $1; if found then 
for child in select distinct user_id from users 
where parent_id = $1 loop for temp in select * from 
tree(child.group_id) loop return next temp; end loop; e
nd loop; end if; return next result; end; $BODY$ 
LANGUAGE plpgsql VOLATILE COST 100 ROWS 1000; 
ALTER FUNCTION tree(integer) OWNER TO postgres; 

Pra quem entende de recursividade, vai logo perceber que esta lógica é tão simples que nem precisa explicação, e pra quem não entende, vou tentar explicar em poucas palavras esta função:

– Primeiro eu busco o pai e jogo na variável registro. Na sequência, eu busco os filhos, e pra cada filho, chamo novamente a função pra ver se ele tem filhos, e pra cada filho do filho também, e pra cada neto, …, veja que a função “se chama” até os filhos acabarem.

Bom, acho que é isto, se alguem ficou na dúvida, poste o comentário!

Valeu,

att
sanoj
; )

SdevLab – Exemplo de Código | Shell Exec em PHP

Fala Galera!

A correria do dia a dia tem me impedido de postar mais, então junto com meu pedido de desculpas pela falta de atenção vai uma dica de função do php bem legal, que executa comandos shell, que é a função shell_exec.
PS: este post foi inicialmente publicado no http://www.sdevlab.com.br, mas como estou redirecionando o blog pro wordpress novamente, copiei e joguei pra k com a mesma data!

Como executar comandos shell no php

No trecho abaixo, a variavel output vai receber o resultado do comando que lista todos os arquivos do diretório atual, inclusive os ocultos, e vai guardar o resultado deste comando em uma variável chamada output, depois mostrar na tela esta variável.

<?php
$output = shell_exec('ls -las');
echo $output;
?>

Um exemplo de uso mais legal seria fazer esta função chamar um arquivo shell script, para fazer algo mais incrementado, mas esta idéia vai ser assunto de um próximo post.

Valeu!

;)

SdevLab – Exemplo de Código | Como redimensionar imagem em PHP

Fala galera!

Este post já devia ter saído faz tempo, mas como só lembrei dele agora, vai agora mesmo! Digo que deveria ter saído há um tempo porque eu tive que estudar manipulação de imagens em php, e como vocês podem perceber, saiu uma levada de posts aqui no blog sobre manipulação, menos este que ensina a redimensionar imagem…então lá vai!

boa leitura!

Como redimensionar imagem em PHP

Como a função não é minha (heehehe) e eu não lembro o site de origem, não vou comentar muito ela, mas garanto que já testei e funcionou direitinho!

Segue o código:


<?php
function redimensiona($origem,$destino,$maxlargura=100,$maxaltura=100,$qualidade=80)
{
if(!strstr($origem,"http") && !file_exists($origem)){
echo("Arquivo de origem da imagem inexistente");
return false;
}
$ext = strtolower(end(explode('.', $origem)));
if($ext == "jpg"|| $ext == "jpeg"){
$img_origem = @imagecreatefromjpeg($origem);
}
elseif ($ext == "gif"){
$img_origem = @imagecreatefromgif($origem);
}
elseif ($ext == "png"){
$img_origem = @imagecreatefrompng($origem);
}
if(!$img_origem){
echo("Erro ao carregar a imagem, talvez formato nao suportado");
return false;
}
$alt_origem = imagesy($img_origem);
$lar_origem = imagesx($img_origem);
$escala = min($maxaltura/$alt_origem, $maxlargura/$lar_origem);
if($escala < 1){
$alt_destino = floor($escala*$alt_origem);
$lar_destino = floor($escala*$lar_origem);
// Cria imagem de destino
$img_destino = imagecreatetruecolor($lar_destino,$alt_destino);
// Redimensiona
imagecopyresampled($img_destino, $img_origem, 0, 0, 0, 0, $lar_destino, $alt_destino, $lar_origem, $alt_origem);
imagedestroy($img_origem);
}
else {
$img_destino = $img_origem;
}
$ext = strtolower(end(explode(".", $destino)));
if($ext == "jpg" || $ext == "jpeg"){
imagejpeg($img_destino,$destino,$qualidade);
return true;
}
elseif ($ext == "gif"){
imagepng($img_destino,$destino);
return true;
}
elseif ($ext == "png"){
imagepng($img_destino,$destino);
return true;
}
else {
echo("Formato de destino nao suportado");
return false;
}
}
?>

Para utilizar a função, faça desta maneira:


$origem = "imagem.jpg";
$destino = "imagem1.jpg";
redimensiona($origem,$destino,$maxlargura=100,$maxaltura=100,$qualidade=80)

Até a próxima!
😉

SdevLab – Exemplo de Código | String to INT em PHP

Fala Galera,

pra fechar a semana, vai uma dica bem útil, que é como converter uma string em um inteiro, em php.

boa leitura!

Como converter String to INT em PHP

Como o processo é muito simples, vou só dar uma pequeno lembrete, o código abaixo somente faz a conversão, mas não é 100% confiável porque se por exemplo você quiser converter um número que será inserido por um usuário, o usuário pode entrar com ’10 t’ no lugar de colocar somente ’10’. Esta sujeira que vem com o inteiro a ser convertido pode dar problemas, fique atento!

Segue o código:


$str = "10";
$int = (int)$str;

Até a próxima!
😉