Executar Shell Scripts PHP com Crontab

10 de Novembro, 2008

Uma alternativa legal utilizando o Crontab do linux (agendador de tarefas) para executar shell scripts feito em PHP.

Antes de mais nada temos que verificar se nosso sistema está rodando o PHP e o php-cli, caso contrário temos que instalar, no meu caso no Ubuntu só tive que usar:

sudo apt-get install php5-cli

Como já tenho o PHP 5 instalado só foi adicionar o pacote php5-cli para rodar os programas feitos em PHP no Terminal do linux como verdadeiros Shell Scripts :)

Agora vamos configurar o crontab para executar determinado arquivo em 1 e 1 minuto.

No terminal:

crontab -e

E vamos adicionar a linha:

* * * * * php /var/www/teste.php

Pronto, estamos passando o comando para executar o arquivo teste.php com o seu caminho completo ex: php /var/www/teste.php.

E nosso arquivo Shell Script teste.php como ele é? Assim:

#!/usr/local/bin/php -q
<?php
$resu = fopen(”/var/www/teste.txt”,”w+”);
fclose($resu);
?>

Simples, estamos criando um arquivo vazio dentro de WWW, não podemos esquecer de dar permissão 755 para nosso programa.

Observe a primeira linha #!/usr/local/bin/php -q

No meu exemplo estou fornecendo o caminho do interpretador PHP do meu sistema /usr/local/bin, para saber o caminho correto do seu sistema crie um arquivo php com a função phpinfo(); e veja o Path completo.

Assim declaro que o arquivo é executado em Bash, detalhe se você não colocar esse parâmetro na primeira linha seu Shell Script em PHP irá funcionar normalmente executando o comando somente em um Terminal, ficando assim:

php /var/www/teste.php

Mas como queremos utilizar o Crontab ele só irá funcionar com esses parâmetros ok.

É uma boa alternativa escrever Shell Scripts em PHP, podemos usar qualquer função do PHP, conexão com banco de dados, includes de classes e funções e etc.

Recomendo uma pesquisa mais avançada sobre o Crontab e Shell Scripts que não é muito difícil, mas fica a dica.

Até mais.

UploadForm com progress bar usando Ext JS

5 de Novembro, 2008

Ótima alternativa para suas aplicações web usando mais um framework chamado Ext JS.

Com o UploadForm Ext JS sua aplicação ficará mais atraente e funcional para envios de arquivos múltiplos para um servidor web.

Veja o exemplo aqui

Outro exemplo que acho muito loco utilizando Ext JS é a interface desktop, clique aqui para ver.

Chick não? E mais uma opção para nós :)

Até mais.

Pegar Latitude e Longitude com a API do Google Maps e PHP

27 de Outubro, 2008

Sem enrolação veja o código abaixo:

<?php
//Set up our variables
$longitude = "";
$latitude = "";
$precision = "";

//Three parts to the querystring: q is address, output is the format (
$key = "YOUR KEY HERE";
$address = urlencode("columbia MO");
$url = "http://maps.google.com/maps/geo?q=".$address."&output=csv&key=".$key;

$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HEADER,0);
curl_setopt($ch, CURLOPT_USERAGENT, $_SERVER["HTTP_USER_AGENT"]);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

$data = curl_exec($ch);
curl_close($ch);

echo "Data: ". $data."<br>";
//Check our Response code to ensure success
if (substr($data,0,3) == "200")
{
$data = explode(",",$data);

$precision = $data[1];
$latitude = $data[2];
$longitude = $data[3];

echo "Latitude: ".$latitude."<br>";

echo "Longitude: ".$longitude."<br>";

} else {
echo "Error in geocoding! Http error ".substr($data,0,3);
}

?>

Analisando o código logo de cara vemos que precisamos de uma Key do Google Maps que você ter acessando aqui.

Feito isso só informar um endereço, no exemplo está:

$address = urlencode("columbia MO");

Pronto, agora só correr para o abraço! :)

Até mais!

Créditos:

http://www.timshowers.com/2008/08/php-geocoding-tutorial-with-the-google-maps-api-part-one/

Adicionar novas formas do cubo compiz esfera e cilindro no Ubuntu 8.04

24 de Outubro, 2008

Mais uma dica para o Ubuntu, você que já adora os efeitos do famoso “cubo” pode ter mais opções!!!

Adicione a seguinte linha no sources.list (sudo gedit /etc/apt/sources.list)

deb http://ppa.launchpad.net/compiz/ubuntu hardy main

Depois temos que atualizar os pacotes com:

sudo apt-get update

sudo apt-get upgrade

Pronto! Agora podemos ativar os novos efeitos.

Sistema -> Preferências -> Gerenciador de configurações do CompizConfig

Menu effects -> Cube reflection and Deformation e na aba Deformação você seleciona os tipos.

Se aparecer uma mensagem para corrigir conflitos clique em ignorar.

Até mais.

Criando um teclado virtual com JQuery e CSS

22 de Outubro, 2008

Mais uma dica com o JQuery, agora para criar aqueles teclados virtuais que vemos em vários sites principalmente em bancos (sem ser applets é claro).

Clique aqui para ver o tutorial completo

Até mais!