S達o Paulo 2015
Copyright © 2015 by Editora Baraúna SE Ltda
Daniel dos Santos Cardoso
Capa
Diagramação Felippe Scagion Revisão
Priscila Loiolar
CIP-BRASIL. CATALOGAÇÃO-NA-FONTE SINDICATO NACIONAL DOS EDITORES DE LIVROS, RJ ________________________________________________________________ C261S Cardoso, Daniel dos Santos Scripts PHP : sua biblioteca de scripts / Daniel dos Santos Cardoso. - 1. ed. - São Paulo: Baraúna, 2014. ISBN 978-85-437-0243-8 1. Linguagem de programação de computador. 2. Programação (Computadores). I. Título. 14-18033
CDD: 005.1 CDU: 004.41
________________________________________________________________ 21/11/2014 24/11/2014
Impresso no Brasil Printed in Brazil DIREITOS CEDIDOS PARA ESTA EDIÇÃO À EDITORA BARAÚNA www.EditoraBarauna.com.br Rua da Quitanda, 139 – 3º andar CEP 01012-010 – Centro – São Paulo - SP Tel.: 11 3167.4261 www.EditoraBarauna.com.br Todos os direitos reservados. Proibida a reprodução total ou parcial, por qualquer meio, sem a expressa autorização da Editora e do autor. Caso deseje utilizar esta obra para outros fins, entre em contato com a Editora.
Dedico este livro primeiramente a Deus e a Jesus, pois sem fé nada se constrói. “Porque Deus amou o mundo de tal maneira que deu o seu Filho unigênito, para que todo aquele que nele crê não pereça, mas tenha a vida eterna.”(João 3:16). À toda minha família, em especial à minha esposa Rubneide Folha, pelo enorme incentivo concedido durante todos esses meses de intenso trabalho e pela compreensão nas horas de minha ausência. Daniel dos Santos Cardoso
“Às vezes, a vida vai-te golpear a cabeça com um tijolo. Não percas a fé.” Steve Jobs
Sumário Capítulo 1 Apresentação do PHP . . . . . . . . . . . . . . . Histórico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Servidor Web. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Embutido no HTML. . . . . . . . . . . . . . . . . . . . . . . .
13 14 15 16
Capítulo 2 Instalação do PHP. . . . . . . . . . . . . . . . . . 17 Instalação do PHP. . . . . . . . . . . . . . . . . . . . . . . . . . 17 Minha Primeira Aplicação . . . . . . . . . . . . . . . . . . . . 22 Capítulo 3 Manipulando Dados com PHP. . . . . . . . Tags PHP. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Exibindo com o PHP. . . . . . . . . . . . . . . . . . . . . . . . Variáveis. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Aspas. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Operadores. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
22 22 23 23 26 28
Capítulo 4 Estrutura de Controle . . . . . . . . . . . . . . . IF-ELSE. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Switch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . While. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . For. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Break e Continue. . . . . . . . . . . . . . . . . . . . . . . . . . . Array . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Funções . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
30 30 32 33 34 35 35 36
Capítulo 5 Noções de SQL. . . . . . . . . . . . . . . . . . . . 37 Banco de Dados. . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 SGBD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 Capítulo 6 Formulários. . . . . . . . . . . . . . . . . . . . . . 46 Validação de Formulário. . . . . . . . . . . . . . . . . . . . . . 47 Método GET. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 Quando usar o Método GET. . . . . . . . . . . . . . . . . . 48 Método POST. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 Capítulo 7 Scripts PHP. . . . . . . . . . . . . . . . . . . . . . . 50 PHP com XML . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 Importando Arquivo TXT para o banco de dados . . 53 Enviando SMS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 Traçando Rotas com o Google Maps . . . . . . . . . . . . 60 Gerador de Senha. . . . . . . . . . . . . . . . . . . . . . . . . . . 63 Identificador de Site/Sistema Mobile . . . . . . . . . . . . 64 Gravando IP, Browser. . . . . . . . . . . . . . . . . . . . . . . . 65 Calculando a Idade do Usuário. . . . . . . . . . . . . . . . . 67 Extraindo/Acessando dados com cURL . . . . . . . . . . 69 Rotinas Agendadas com o Cron Linux. . . . . . . . . . . 70 Gerando Gráficos. . . . . . . . . . . . . . . . . . . . . . . . . . . 72 Geração de Boletos. . . . . . . . . . . . . . . . . . . . . . . . . . 75 Login com o Facebook. . . . . . . . . . . . . . . . . . . . . . . 78 Gerar QrCode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83 Gerando Arquivos PDF. . . . . . . . . . . . . . . . . . . . . . 85 Enviando E-mail com a Classe PHPMail. . . . . . . . . 91 Conectando e fazendo Select no Banco de dados Oracle. . 96 Consumindo um Webservice SOAP. . . . . . . . . . . . . 98 Capturar e Salvar Imagem da Webcam. . . . . . . . . . 100
Paginação em PHP e MySQL. . . . . . . . . . . . . . . . . 101 Criando um Sistema com Página de Login e Senha.105 CRUD (Create, Read, Update e Delete). . . . . . . . . 109 Script para fazer backup automatizado e Enviar para um email . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123 Conclusão . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127 Apêndice Referências bibliográficas. . . . . . . . . . . . . . . . . . . . 128 Links Interessantes. . . . . . . . . . . . . . . . . . . . . . . . . 128
INTRODUÇÃO Na minha trajetória de muitos anos com a linguagem PHP, seja como freela ou como CEO de empresa, deparei-me com várias funcionalidades que teriam que ser implementadas nos projetos, sendo dos mais simples até os mais complexos. Com o intuito de facilitar a vida dos desenvolvedores, disponibilizo todos esses scripts testados, aprovados e comentados, com seu uso prático e com a opção de baixar no seguinte endereço: http://www.scriptsphp. com.br/downloads/. O livro, escrito em linguagem simples e didática com vários exemplos reais, além de ser uma fonte de consultas para profissionais de tecnologia, estudantes, e pode ser lido também por toda e qualquer pessoa que se interessa pelo tema. O objetivo é aumentar a produtividade dos seus projetos e, com isso, ganhar tempo e economizar dinheiro, pois quando não se consegue encontrar na internet o script, terá de se contratar um desenvolvedor, por isso o intuito da obra é diminuir esse ciclo, podendo utilizar os scripts, quando for preciso.
13
HISTÓRICO A primeira versão do PHP surgiu em 1995, quando Rasmus Lerdof criou, para uso pessoal, uma ferramenta chamada PHP/FI (Personal Home Page/Forms Interpreter). Porém, ele não imaginava que estava criando uma das mais poderosas linguagens de programação para o desenvolvimento de aplicações Web. O PHP (Sigla que hoje é um acrônimo recursivo para PHP: Hypertext Preprocessor) conquistou muito espaço nos últimos anos. Isso se deve principalmente à facilidade de utilização e grande diversidade de recursos que possui.
Figura 1.1 – Ranking das Linguagens Pesquisa feita pela internet de 15 de Maio a 19 de Agosto de 2014, pelo site www.apinfo.com. 22.233 participantes de todo o Brasil, com maior concentração nos estados do Sudeste e Sul.
14
O PHP é uma linguagem totalmente voltada à internet, possibilitando o desenvolvimento de sites/sistemas realmente dinâmicos. Dominando essa linguagem, pode-se transformar aqueles sites estáticos, feitos em HTML puro, em aplicações interativas, utilizando todas as técnicas de programação que ela oferece. Imagine um menu de uma aplicação com HTML puro com mais de 200 páginas. Caso tenha alguma alteração, terá que atualizar todas as páginas, uma por uma. No entanto, com PHP, por ser uma linguagem dinâmica, poderá criar um arquivo chamado menu.php e colocar um comando chamado Include em todas as 200 páginas, assim, caso tenha alguma alteração, é só ir no menu.php, fazer a alteração, e todas as páginas serão atualizadas. Umas das grandes vantagens do PHP é que ele é gratuito, ou seja, livre de licenças e taxas exorbitantes, e pode ser obtido gratuitamente no site www.php.net. Servidor Web
Figura 1.2 – Cenário de um Servidor Web 15