Arquivo da tag: PHP

Como instalar e utilizar a biblioteca PHP-ML?

Depois de procurar e não encontrar, segue abaixo um passo-a-passo de como utilizar a biblioteca PHP-ML (PHP – Machine Learning). Continue lendo

Natural de Salvador-BA, é graduado em Analise de Sistemas pela Universidade Católica do Salvador (UCSal, 2003), e Especialista em Engenharia de Software pela Universidade Salvador (2010).

Como saber o dia, mês, ou o ano de uma data específica usando PHP?

Este código permite ajustar qual o formato de entrada utilizando a mascara ‘d/m/Y’:

<?
echo DateTime::createFromFormat('d/m/Y', '25/12/2016')->format('d'); // Dia
echo DateTime::createFromFormat('d/m/Y', '25/12/2016')->format('m'); // Mês
echo DateTime::createFromFormat('d/m/Y', '25/12/2016')->format('Y'); // Ano (4 digitos)
?>
Natural de Salvador-BA, é graduado em Analise de Sistemas pela Universidade Católica do Salvador (UCSal, 2003), e Especialista em Engenharia de Software pela Universidade Salvador (2010).

Como saber se um determinado ano é bissexto utilizando o PHP?

Existem muitas soluções na Internet para esse problema, mas você sabia que existe uma solução nativa da própria linguagem? Continue lendo

Natural de Salvador-BA, é graduado em Analise de Sistemas pela Universidade Católica do Salvador (UCSal, 2003), e Especialista em Engenharia de Software pela Universidade Salvador (2010).

Como importar o arquivo de resultados da Mega Sena utilizando o PHP

A Caixa libera um arquivo HTML contendo todos os jogos e números sorteados, mas como fazer para utilizá-lo em seu aplicativo? Continue lendo

Natural de Salvador-BA, é graduado em Analise de Sistemas pela Universidade Católica do Salvador (UCSal, 2003), e Especialista em Engenharia de Software pela Universidade Salvador (2010).

Qual a forma correta de inserir uma quebra de linha seguindo o padrão ASCII? (“\r\n” ou “\n\r”)

Utilize o “\r\n”.

Atenção: A partir da versão 5.0.2, o PHP passou a fornecer a constante PHP_EOL para representar o fim de linha. Que pode ser utilizado da seguinte forma:

<? echo 'Linha 1'.PHP_EOL.'Linha 2'; ?>
Natural de Salvador-BA, é graduado em Analise de Sistemas pela Universidade Católica do Salvador (UCSal, 2003), e Especialista em Engenharia de Software pela Universidade Salvador (2010).

Comando num_rows do MySQLi (prepared statement) retorna apenas o valor 0

Continuando os meus trabalhos de conversão de um código que utilizava a conexão MySQl para a conexão MySQLi encontrei um novo problema: o comando num_rows sempre retornava o valor 0, mesmo nas consultas em que eu sabia que traziam mais resultados:

$lobj_mysqliQuery = $pobj_DBObject->stmt_init();
$lobj_mysqliQuery->prepare("SELECT id FROM usuario WHERE nome like ?");
$lobj_mysqliQuery->bind_param("s", $plstr_usuarioNome);
$lobj_mysqliQuery->execute();

$llng_usuarioQuantidade = $lobj_mysqliQuery->num_rows;

Bem, onde estava o erro? Aparentemente (novamente) estava tudo correto. Porém, o MySQLi tem uma forma diferente de ver a vida…:)

O erro estava na ausência da utilização do comando store_result(). Que, segundo o manual do PHP, serve para transferir o resultado da última consulta (Resultset) para a variável desejada. Assim, como não havíamos executado este comando, era como se estivéssemos tentando pegar o número de linhas de um ResultSet vazio.

o código final ficou assim, e funcionou:

$lobj_mysqliQuery = $pobj_DBObject->stmt_init();
$lobj_mysqliQuery->prepare("SELECT id FROM usuario WHERE nome like ?");
$lobj_mysqliQuery->bind_param("s", $plstr_usuarioNome);
$lobj_mysqliQuery->execute();
$lobj_mysqliQuery->store_result();

$llng_usuarioQuantidade = $lobj_mysqliQuery->num_rows;

* Observação: Nestes exemplos estão ocultos os comandos responsáveis por abrir e fechar a conexão com o banco de dados.

Natural de Salvador-BA, é graduado em Analise de Sistemas pela Universidade Católica do Salvador (UCSal, 2003), e Especialista em Engenharia de Software pela Universidade Salvador (2010).

Warning: mysqli_connect() [function.mysqli-connect]: (HY000/2005): Unknown MySQL server host ‘localhost:3306’ (11004)

Ao tentar migrar um sistema PHP das conexões MySQL para MySQLi, me deparei com o seguinte problema:

Warning: mysqli_connect() [function.mysqli-connect]: (HY000/2005): Unknown MySQL server host ‘localhost:3306’ (11004)

Aparentemente não havia erro:

$lobj_Database = mysqli_connect(SETTINGS_SGBD_HOST.":".SETTINGS_SGBD_PORT, SETTINGS_SGBD_USER, SETTINGS_SGBD_PASSWORD, SETTINGS_SGBD_DATABASE);

Aparentemente, pois não me lembrei que a sintaxe do MySQLi é um pouco diferente. O endereço da porta passa a ser o último parâmetro da conexão. Ficando assim:

$lobj_Database = mysqli_connect(SETTINGS_SGBD_HOST, SETTINGS_SGBD_USER, SETTINGS_SGBD_PASSWORD, SETTINGS_SGBD_DATABASE, SETTINGS_SGBD_PORT);

Importante lembrar que este é um método de conexão estilo procedural, e que o MySQLi suporta o estilo orientado a objeto também.

Natural de Salvador-BA, é graduado em Analise de Sistemas pela Universidade Católica do Salvador (UCSal, 2003), e Especialista em Engenharia de Software pela Universidade Salvador (2010).

Qual a função no PHP equivalente a mid()

A função mid() utilizada no Visual Basic é equivalente a função substr () no PHP.

Ela deve ser utilizada da seguinte forma:

string substr ( string $texto , int $inicio [, int $tamanho ] )

Por exemplo:

echo substr( “TESTE”, 3, 2)

imprimirá: “TE”.

Importante lembrar que a primeira posição da string é o valor 0, e não 1.

Natural de Salvador-BA, é graduado em Analise de Sistemas pela Universidade Católica do Salvador (UCSal, 2003), e Especialista em Engenharia de Software pela Universidade Salvador (2010).

Como utilizar um avatar hospedado no Gravatar em seu site?

Para utilizar um avatar hospedado no site Gravatar em seu próprio site é muito simples:

<?php
    $lstr_usuarioMail = 'seuemail@exemplo.com.br';
    $lstr_gravatarImagem = 'http://www.gravatar.com/avatar/' . md5($lstr_usuarioMail) . '?s=32';
?>

Agora utilize a URL gerada acima:

<?php
    echo '<IMG src="' . $lstr_gravatarImagem . '" />';
?>
Natural de Salvador-BA, é graduado em Analise de Sistemas pela Universidade Católica do Salvador (UCSal, 2003), e Especialista em Engenharia de Software pela Universidade Salvador (2010).

Como gerar QR Codes com php?

Códigos QR (Quick Response) são um tipo de códigos de barra em duas dimensões. Foram criadas no Japão a 20 anos atrás para ajudar a indústria automotiva a rastrear partes de automóveis dentro de uma fábrica. Porém, apenas hoje eles se tornaram populares graças ao surgimento dos smartphones com suas câmeras embutidas.

QR codes permitem representar uma URL, mas também podem representar textos. Neste artigo, iremos mostrar como é fácil gerar estes código a partir de 3 bibliotecas diferentes (TCPDF, phpqrcode, Google Chart API)

A primeira biblioteca é a TCPDF, uma biblioteca open source para criação de documentos PDF. Com ela é possível gerar QR Codes como parte de um PDF, mas não é possível gerar imagens separadamente.

<?php

    error_reporting(E_ALL);

    require_once('/tcpdf/config/lang/eng.php');
    require_once('/tcpdf/tcpdf.php');

    $lobj_pdf = new TCPDF(); //Cria o objeto local TCPDF
    $lobj_pdf->AddPage(); //Adiciona uma nova página ao objeto que está sendo gerado.
    $lobj_pdf->write2DBarcode( 'www.pauloacosta.com/blog', 'QRCODE' ); // Escreve o endereço do site como um código QR.
    $lobj_pdf->Output( 'qr_code.pdf', 'I' ); // Grava em disco o novo documento gerado

?>

Caso você precise gerar um código QR em arquivo, você poderá utilizar a biblioteca phpqrcode, também open source:

<?php

    require_once('phpqrcode/qrlib.php');
    QRcode::png( 'www.pauloacosta.com/blog', 'qrcode.png' ); // Gerar imagem em disco.
    QRcode::png( 'www.pauloacosta.com/blog' ); //Gerar imagem diretamente para o navegador.

?>

E por fim, porém não menos importante, temos a Google Chart API wrapper:

<?php

    error_reporting(E_ALL);
    require_once ('GChartPhp/gChart.php');

    $lobj_qrCode = new gQRCode();
    $lobj_qrCode->setQRCode( 'www.pauloacosta.com/blog' );
    echo "<img src="".$lobj_qrCode->getUrl()."" />";

?>

Eu prefiro a biblioteca phpQRCode, e você? Conhece outra biblioteca capaz de gerar códigos QR e gratuita?

Referência:

Natural de Salvador-BA, é graduado em Analise de Sistemas pela Universidade Católica do Salvador (UCSal, 2003), e Especialista em Engenharia de Software pela Universidade Salvador (2010).