Detectando Mobile Devices, detectando se um site está sendo acessado por um dispositivo móvel como um celular ou tablet

Com a biblioteca Mobile_Detect para PHP podemos detectar facilmente se um site está sendo acesso por um navegador desktop ou um navegador específico para dispositivos móveis, como um celular ou tablet, por exemplo.

http://mobiledetect.net/

A utilização é bastante simples, basta incluir a biblioteca no script e fazer a verificação:

require_once ‘Mobile_Detect.php’;
$detect = new Mobile_Detect;
// Any mobile device (phones or tablets).

if ( $detect->isMobile() ) {

}

 

 

 

Http Error ao fazer upload de uma imagem no WordPress

Algumas instalações do WordPress  estão apresentando um erro “erro HTTP” em vermelho ao fazer upload da de uma imagem qualquer.

Aparentemente é um erro relacionado a versão WordPress versão 3.6.x.

Adicione a linha de código no início do .htaccess da raiz de seu WordPress e o problema será resolvido

AddHandler application/x-httpd-php53 .php

 

Restaurar um Backup no MySQL por linha de comando

Normalmente com Php + MySQL o comum é a utilização do phpmyadmin para restauração de dado com MySQL, o problema é que o phpmyadmin limita o tamanho do arquivo .sql que deverá ser importado. Nesse caso a restauração deve ser feita por linha de comando.

Na pasta de instalação do MySQL mais precisamente na pasta /bin existe o executável mysql.exe e podemos utilizá-lo para executar a restauração direto no prompt de comando

Linha de comando

mysql\bin\mysql.exe -u root -p minha_senha -h localhost nome_do_db < arquivo_backup.sql

O parâmetro -u especifica o nome do usuário registrado no mysql, -p especifica a senha, -h o ip ou nome do servidor, seguido pelo nome do banco e o arquivo a ser importado.

 

 

 

Resolvendo o erro “warning mssql_connect() unable to connect to server” ao fazer uma conexão do PHP com MS SQL Server

Muitas gente sofre para fazer o php se conectar ao MS SQL Server, mesmo depois de adicionada a biblioteca no php.ini e  php_mssql.dll liberado no extension.

Mesmo assim a conexão parece impossível, quando são retornados erros como:

Call to undefined function mssql_connect()

warning mssql_connect() unable to connect to server

O problema ao conectar o PHP com o SQL Server ocorre geralmente nas versões mais novas do SQL Server, como a 2008 e 2008 R2

A causa do problema é uma dll desatualizada, dentro da pasta do Apache/php e no próprio Windows.

A solução é bastante simples, basta substituir a dll nas pastas:

windows/system32 

apache/bin

A dll pode ser baixada no link abaixo:

http://www.dlldll.com/ntwdblib.dll_download.html

Agora é só reiniciar o serviço do apache/php e testar!

Para copiar a dll para a pasta apache/bin o serviço deve está parado.

Um dica adicional é verificar se Named Pipes through está ativo no SQL server Configuration Manager

Um exemplo de conexão do php com SQL SERVER

$dbhandle = mssql_connect(‘nome_do_servidor\SQLEXPRESS’,’username’,’password’);

$db = mssql_select_db(‘databasename’, $dbhandle);

 

 

Listar todos os meses de um ano entre duas data em php

 

Um pequeno trecho de código que ajuda a listar todos os meses do ano entre duas data!

<?php
$startDate = strtotime("$startYear/$startMonth/01");
$endDate   = strtotime("$endYear/$endMonth/01");

$currentDate = $endDate;

while ($currentDate >= $startDate) {
    echo date('Y/m',$currentDate);
    $currentDate = strtotime( date('Y/m/01/',$currentDate).' -1 month');
}

fonte:http://stackoverflow.com/questions/1449167/list-of-all-months-and-year-between-two-dates-in-php

Gerando logs com CodeIgniter php

Gerar log de erros é um fator essencial quando estamos desenvolvendo uma aplicação, além de ser bastante útil para o monitoramento quando a aplicação já está em produção. Com CodeIgniter o processo é bastante simples:

Ative a geração de log no config.php no item: Error Logging Threshold

$config[‘log_threshold’] = 4;

4 para ativar todos os tipos de mensagens

A pasta padrão onde o log será armazenado é system/logs/, no entanto essa pasta pode ser alterada na variável:

$config[‘log_path’] = ”;

Alguns logs são gerados automaticamente pelo sistema, mas isso não impede você de gerar logs próprios, como registrar o valor de uma variável sempre que ela aparecer, por exemplo. Abaixo alguns exemplos de tipo de log com seus respectivos níveis que podem ser gerados manualmente:

log_message(‘error’, ‘Mensagem para o log de erro.’);

log_message(‘debug’, ‘Mensagem para o log de debug’);

log_message(‘info’, ‘Mensagem para o log de informação.’);

 

Desenvolva aplicações Desktop com PHP sem usar PHP-GTK

Normalmente quando se pensa em desenvolver uma aplicação desktop com php, ou seja, com janelinhas e tudo mais vêm logo a cabeça utilizar php-gtk, gtk como a api gráfica para manipulação dos objetos visuais. No entanto uma nova abordagem está surgindo com o desenvolvimento de aplicações baseadas em web para desktop, aplicações essas que são autoexecutáveis, pois podem ser executadas diretamente de um arquivo .exe, por exemplo, sem a necessidade de se entrar em uma url específica. Na nova interface gráfica do windows 8 essa abordagem fica mais clara, pois o que vemos nele são aplicações desenvolvidas como aplicações web que rodam diretamente no desktop como uma aplicações desktop.

Com o projeto PHP Desktop (Chromium) (https://code.google.com/p/phpdesktop-chromium) essa possibilidade também é levada ao desenvolvimento com php. Basicamente o projeto se vale dos novos recursos da nova versão do php, como um servidor web embutido e o Chromium, que é uma versão livre do navegador Chrome do Google, que possui de forma nativa a possibilidade de rodar aplicações web no modo desktop, abaixo um trecho do texto do próprio autor do projeto que deixa bem claro o modo de operação:

PHP Desktop (Chromium) é um projeto de código aberto desenvolvido por Guilherme Alencar para prover um meio de desenvolver aplicações desktop nativas utilizando tecnologias web como PHP, HTML5, JS e SQLite. Engloba um navegador web (Chromium, uma versão livre do navegador Chrome do Google), um servidor web embutido (nativo da linguagem PHP desde a sua versão 5.4.0), e o interpretador PHP, com a extensão sqlite3 para banco de dados da aplicação.

A idéia é inspirada no conceito de SSB (Site-Specific Browser), que consiste em adaptar um navegador para rodar aplicações web no modo desktop de modo específico para sua aplicação. Em alguns navegadores esta funcionalidade é adicionada com Extensões, mas no Chromium esta função é nativa com a opção -app=”site”.

O modo de desenvolver é o mesmo para uma aplicação Web para WAMP (Windows, Apache, MySQL e PHP). Coloca-se a aplicação na pasta www, em que o primeiro arquivo a ser executado deve-se chamar index.php ou index.html. Depois, basta executar o Launcher.exe que executará o servidor PHP (phpdesktop.exe, que é o mesmo executável do php.exe do zip obtido em php.net), e o navegador Chromium apontando para o endereço 127.0.0.1 na porta 54007 (http://127.0.0.1:54007/). Se a janela for fechada, o executável phpdesktop.exe é eliminado da lista de processos do Windows utilizando Javascript e PHP.

O pacote completo do projeto com um exemplo de aplicação na pasta www pode ser baixado diretamente de https://code.google.com/p/phpdesktop-chromium/downloads/list