PHP: Mudanças nas funções htmlspecialchars() e htmlentities()

Desde a versão 5.4 do PHP, as funções htmlspecialchars() e htmlentities() passaram por um refactoring e tiveram grandes porções internas de código reescritas. Além de melhorias e correções de bugs, o terceiro parâmetro destas funções (que até então tinha como default ISO-8859-1), passou a ser UTF-8, refletindo o encoding usado pela maioria das aplicações.

Entretanto, alguns cuidados devem ser adotados, principalmente por quem ainda utiliza PHP sobre bases de dados ISO-8859-1. Ao utilizar uma dessas funções sobre uma string ISO com caracteres acentuados, o retorno (que antes funcionava), agora passa a ser vazio (string vazia). 

Para testar, basta digitar o conteúdo a seguir e salvar em um arquivo ISO. Você verá que o retorno será string vazia.

PHP

<?php
    var_dump(htmlspecialchars'São Paulo'));
?>

Como dito anteriormente, o encoding padrão aguardado por estas funções passou a ser UTF-8. Assim, quando você utilizar essas funções com uma string que não está em UTF-8, deverá indicar o encoding como parâmetro, como no exemplo a seguir.

PHP

<?php
    var_dump(htmlspecialchars'São Paulo'0"iso-8859-1"));
?>

Perdeu a senha de root do Ubuntu? Saiba como recuperá-la

Aprenda a como hackear, resetar ou recuperar a senha de root no Ubuntu.

A maior fama do Linux é ser um sistema seguro, e ele é seguro. Mas, se por algum motivo, perdermos ou esquecermos a senha de um sistema usando Ubuntu, como podemos recuperá-la, ou como criar outra? Existe uma forma bem simples para resolver esta questão.

Como recuperar a senha de root no Ubuntu?

PASSO 1

No menu GRUB, ao ligar o sistema, entre no menu de modo de recuperação. Na versão 2.0 do GRUB, escolha “Opções avançadas…”

Irá aparecer uma tela preta com várias linhas de comando. Apenas espere.

Continue Lendo »

Gerar PDF com PHP através da biblioteca DOMPDF

Quando falamos em desenvolvimento web, é muito comum a necessidade de gerar arquivos PDF's de algum relatório. Muitos já devem ter tido alguma dificuldade com a configuração de algumas bibliotecas para fazer esta geração.

Com a  a biblioteca DOMPDF conseguimos fazer a conversão de uma página HTML para PHP de forma fácil, rápida e com possibilidades de incluir imagens, cabeçalho, rodapé, CSS, número de páginas, tamanho e orientação do papel, etc.

Para baixar a biblioteca DOMPDF é só acessar https://github.com/dompdf/dompdf/downloads e voilà. A biblioteca é gratuita e vem com diversos exemplos, dos mais simples aos mais complexos, o que facilita ainda mais o seu entendimento.

Vamos a alguns exemplos de utilização:

Aqui um pequeno trecho HTML que depois será convertido em PDF. Notem que é possível utilizarmos CSS de forma bem simples.

PHP

$html "
<html>
 <head>
   <style ='text/css'>
     body {
       font-family: Calibri, DejaVu Sans, Arial;
       margin: 0;
       padding: 0;
       border: none;
       font-size: 13px;
     }
 
     #exemplo {
       width: 100%;
       height: auto;
       overflow: hidden;
       padding: 5px 0;
       text-align: center;
       background-color: #CCC;
       color: #FFF;
     }
   </style>
 </head>
 <body>
   <div id='exemplo'>
     Gerar PDF com a classe DOMPDF para PHP.<br />
   </div>
 </body>
 </html>";

No trecho acima criamos um HTML simples, com uma mensagem dentro de uma div. A div e a mensagem foram estilizadas com CSS Embed. Esse código HTML foi atribuído à variável $html que utilizaremos abaixo.

Um dos recursos da DOMPDF é a possibilidade de utilizar CSS's e não precisar ficar definindo posições X e Y de cada elemento, como algumas bibliotecas o fazem.

Agora vamos ao código que irá fazer a conversão do conteúdo HTML da variável $html para PDF.

PHP

<?php
// Incluímos a biblioteca DOMPDF
require_once("dompdf/dompdf_config.inc.php");
 
// Instanciamos a classe
$dompdf = new DOMPDF();
 
// Passamos o conteúdo que será convertido para PDF
$dompdf->load_html($html);
 
// Definimos o tamanho do papel e
// sua orientação (retrato ou paisagem)
$dompdf->set_paper('A4','portrait');
 
// O arquivo é convertido
$dompdf->render();
 
// Salvo no diretório temporário do sistema
// e exibido para o usuário
$dompdf->stream("nome-do-arquivo.pdf");
?>

Bem simples, não?

Alguns Cuidados:

Fontes

Ter fontes true type (.ttf) instaladas no servidor é o bastante para exibí-las corretamente na tela mas para que a biblioteca DOMPDF reconheça essas fontes é preciso carregá-las para o diretório da biblioteca.

Para carregar novas fontes para a biblioteca DOMXML, basta seguir o tutorial disponível em http://www.dirtyhandsphp.com/2013/03/dompdf-new-font-installation.html.

Imagens

Se no seu código HTML forem utilizadas imagens locais (dentro do mesmo servidor onde a biblioteca DOMPDF está instalada) não precisa se preocupar. Mas se você utiliza imagens externas é necessário habilitar a função DOMPDF_ENABLE_REMOTE. No arquivo compdf_config.inc.php, na linha 289, defina DOMPDF_ENABLE_REMOTE como true.

Como vimos, a criação do de um documento PDF através da DOMPDF é muito simples. Em casos de dúvidas, dêem uma olhada nos exemplos que estão disponíveis junto com a documentação da biblioteca.

Como dobrar manga de camisa social

Dobrar uma camisa social de forma que o punho trabalhado fique aparecendo nem sempre é fácil, então para facilitar esta tarefa ai está o vídeo.

Caso não consiga dobrar as mangas sozinho, tente dobrá-las antes de vestir a camisa.

Fonte: pakidermeboutique

Tenho que comentar uma SQL. Como faço?

Isso é muito simples de se fazer. Existem duas formas de se fazer um comentário na linguagem PL/SQL:

Para comentar apenas uma linha, é utilizado o delimitador -- (2 hífens). A partir de dois hífens tudo o que for escrito até o final da linha é considerado comentário.

Exemplo:

-- Comentário em uma linha

Para comentar múltiplas linhas, é utilizado o delimitador /* para abrir e */ para fechar. Tudo e todas as linhas que estiverem entre os dois delimitadores serão ignorados na execução.

Exemplo:

/*
Comentario
em
múltiplas
linhas
*/

1 2 3 4 5 6 7 8 9 10 11 ... 89 »