Apostila PHP 2017 08 PDF

Title Apostila PHP 2017 08
Author Thiago Lima
Course Programação Web
Institution Centro Estadual de Educação Tecnológica Paula Souza
Pages 139
File Size 4 MB
File Type PDF
Total Downloads 5
Total Views 148

Summary

Download Apostila PHP 2017 08 PDF


Description

DO BÁSICO AO UPLOAD

ESTA OBRA PODE SER REPRODUZIDA E DISTRIBUÍDA PARCIAL OU INTEGRALMENTE DESDE QUE CITADA A FONTE. MATERIAL COPYLEFT – VENDA PROIBIDA

THIAGO FERNANDES OLIVEIRA DE LIMA

CONTATO [email protected]

CENTRO ESTADUAL DE EDUCAÇÃO TECNOLÓGICA “PAULA SOUZA” ETEC DR. DEMÉTRIO AZEVEDO JÚNIOR

ITAPEVA-SP 2017

Última revisão: 07 de agosto de 2017.

ÍNDICE

1

INTRODUÇÃO............................................................................................................................5

1.1

HISTÓRIA DO PHP...................................................................................................................5

1.2

INSTALANDO O PHP NO WINDOWS .................................................................................7

1.3

EXERCÍCIOS ............................................................................................................................ 11

2

FORMULÁRIOS HTML ......................................................................................................... 12

2.1

DESENHANDO UM FORMULÁRIO ................................................................................... 12

2.2

CODIFICANDO O FORMULÁRIO ...................................................................................... 13

2.3

RESUMO DOS TIPOS DE CAMPOS TRADICIONAIS ................................................... 17

2.4

NOVOS TIPOS DE CAMPOS ............................................................................................... 18

2.5

VALIDAÇÃO DE FORMULÁRIOS COM HTML ............................................................... 24

2.6

CAMPOS OBRIGATÓRIO DE FORMULÁRIOS ............................................................... 25

2.7

AUTOFOCO EM CAMPO DE FORMULÁRIO .................................................................. 26

2.8

PLACEHOLDER TEXT........................................................................................................... 26

2.9

COMPRIMENTO MÁXIMO DE CAMPO ........................................................................... 27

2.10

EXERCÍCIOS ............................................................................................................................ 27

3

SINTAXE BÁSICA E TIPOS.................................................................................................. 32

3.1

COMENTÁRIOS ...................................................................................................................... 32

3.2

VARIÁVEIS ............................................................................................................................... 33

3.3

TIPOS DE DADOS.................................................................................................................. 34

3.4

CARACTERES DE ESCAPE .................................................................................................. 36

3.5

VARIÁVEIS PRÉ-DEFINIDAS .............................................................................................. 36

3.6

OPERADORES......................................................................................................................... 45

3.7

LÓGICOS .................................................................................................................................. 47

3.8

EXERCÍCIOS ............................................................................................................................ 48

4

ESTRUTURAS DE CONTROLE ........................................................................................... 49

4.1

ESTRUTURA CONDICIONAL IF...ELSE ............................................................................ 49

4.2

ESTRUTURA CONDICIONAL SWTICH...CASE ............................................................... 51

4.3

INCREMENTO E DECREMENTO ....................................................................................... 53

4.4

ESTRUTURA DE REPETIÇÃO FOR ................................................................................... 55

4.5

ESTRUTURA DE REPETIÇÃO WHILE .............................................................................. 56

4.6

ESTRUTURA DE REPETIÇÃO DO...WHILE ..................................................................... 57

4.7

COMANDO BREAK ................................................................................................................ 58

4.8

COMANDO CONTINUE ........................................................................................................ 59

4.9

EXERCÍCIOS ............................................................................................................................ 59

5

FUNÇÕES ................................................................................................................................. 62

5.1

ACESSO A VARIÁVEIS (ESCOPO) ..................................................................................... 64

5.2

PASSAGEM DE PARÂMETROS .......................................................................................... 66

5.3

FUNÇÕES PARA MANIPULAÇÃO DE STRINGS ............................................................ 68

5.4

FUNÇÕES MATEMÁTICAS .................................................................................................. 82

5.5

FUNÇÕES DE DATA/HORA ................................................................................................ 86

5.6

EXERCÍCIOS ............................................................................................................................ 95

6

ARRAYS E LISTAS ................................................................................................................. 99

6.1

VETOR....................................................................................................................................... 99

6.2

MATRIZES............................................................................................................................. 102

6.3

LISTAS ................................................................................................................................... 104

6.4

FUNÇÕES PARA MANIPULAÇÃO DE ARRAYS .......................................................... 105

6.5

EXERCÍCIOS ......................................................................................................................... 114

7

EXCEÇÕES ............................................................................................................................ 118

7.1

EXERCÍCIOS ......................................................................................................................... 120

8

MANIPULÇÃO DE ARQUIVOS ........................................................................................ 121

8.1

FUNÇÕES PARA MANIPULAÇÃO DE ARQUIVOS ..................................................... 123

8.2

UPLOAD DE ARQUIVO ..................................................................................................... 128

8.3

UPLOAD MÚLTIPLO DE ARQUIVOS ............................................................................ 133

8.4

EXERCÍCIOS ......................................................................................................................... 135

BIBLIOGRAFIA .......................................................................................................................................... 136

PHP – Do básico ao upload

1 INTRODUÇÃO

Apesar de toda evolução do HTML5 e dos navegadores atuais, a Web ainda é um ambiente bastante restrito. O browser não executa qualquer tipo de código e coisas que às vezes são simples de escrever em outras linguagens são bastante complexas de se fazer em HTML ou JavaScript. Por isso, todo projeto Web sério não é apenas de arquivos HTML, CSS e JavaScript, mas envolve uma infraestrutura no servidor. Há muitas linguagens e servidores possíveis de serem usados. Como linguagem, se usa PHP, Java, Ruby, Python, C#. Servidores temos Apache, Tomcat, JBoss, IIS, nginx e outros. Utiliza-se uma linguagem no servidor para executar tarefas como gerar páginas dinamicamente com dados de um banco de dados da aplicação; enviar e-mails para usuários; processar tarefas complexas; garantir validações de segurança da aplicação; e muito mais. Todo código PHP fica dentro de uma tag especial dele, para diferenciar do código HTML:

E o código PHP pode se misturar com HTML normalmente. O que for tag do PHP vai ser executada pelo servidor PHP. O que não for, vai ser enviado para o browser do jeito que está. HTML aqui

Mais HTML

1.1 HISTÓRIA DO PHP

A linguagem foi criada em 1994 e o código fonte do PHP só foi liberado em 1995, como Prof. Thiago Lima

5

PHP – Do básico ao upload

um pacote de programas CGI criados por Rasmus Lerdorf, com o nome Personal Home Page Tools, para substituir um conjunto de scripts Perl que ele usava no desenvolvimento de sua página pessoal. Em 1997 foi lançado o novo pacote da linguagem com o nome de PHP/FI, trazendo a ferramenta Forms Interpreter, um interpretador de comandos SQL. Mais tarde, Zeev Suraski desenvolveu o analisador do PHP 3 que contava com o primeiro recurso de orientação a objetos, que dava poder de alcançar alguns pacotes, tinha herança e dava aos desenvolvedores somente a possibilidade de implementar propriedades e métodos. Pouco depois, Zeev e Andi Gutmans, escreveram o PHP 4, abandonando por completo o PHP 3, dando mais poder à máquina da linguagem e maior número de recursos de orientação a objetos. O problema sério que apresentou o PHP 4 foi a criação de cópias de objetos, pois a linguagem ainda não trabalhava com apontadores ou handlers, como são as linguagens Java, Ruby e outras. O problema fora resolvido na versão atual do PHP, a versão 5, que já trabalha com handlers. Caso se copie um objeto, na verdade copiaremos um apontador, pois, caso haja alguma mudança na versão original do objeto, todas as outras também sofrem a alteração, o que não acontecia na PHP 4. Trata-se de uma linguagem extremamente modularizada, o que a torna ideal para instalação e uso em servidores web. Diversos módulos são criados no repositório de extensões PECL (PHP Extension Community Library) e alguns destes módulos são introduzidos como padrão em novas versões da linguagem. É muito parecida, em tipos de dados, sintaxe e mesmo funções, com a linguagem C e com a C++. Pode ser, dependendo da configuração do servidor, embarcada no código HTML. Existem versões do PHP disponíveis para os seguintes sistemas operacionais: Windows, Linux, FreeBSD, Mac OS, OS/2, AS/400, Novell Netware, RISC OS, AIX, IRIX e Solaris. Construir uma página dinâmica baseada em bases de dados é simples com PHP, (em parte, vale lembrar), este provê suporte a um grande número de bases de dados: Oracle, Sybase, PostgreSQL, InterBase, MySQL, SQLite, MSSQL, Firebird, etc., podendo abstrair o banco com a biblioteca ADOdb, entre outras. A Wikipédia funciona sobre um software inteiramente escrito em PHP, usando bases de dados MySQL: o MediaWiki.

Prof. Thiago Lima

6

PHP – Do básico ao upload

PHP tem suporte aos protocolos: IMAP, SNMP, NNTP, POP3, HTTP, LDAP, XML-RPC, SOAP. É possível abrir sockets e interagir com outros protocolos. E as bibliotecas de terceiros expandem ainda mais estas funcionalidades. Existem iniciativas para utilizar o PHP como linguagem de programação de sistemas fixos. A mais notável é a PHP-GTK. Trata-se de um conjunto do PHP com a biblioteca GTK, portada do C++, fazendo assim softwares interoperacionais entre Windows e Linux. Na prática, essa extensão tem sido muito pouco utilizada para projetos reais. O acrônimo recursivo PHP representa um elefante, que é conhecido como a mascote da linguagem.

1.2 INSTALANDO O PHP NO WINDOWS

O endereço http://php.net/downloads.php deve ser acessado a nesta página está o link para o download do PHP para o Windows. Poderá ser realizado download da versão que quiser desde que seja maior que a 5.4, conforme a figura 1 (dê preferência para Thread Safety). Deve ser escolhida a plataforma do PHP em relação ao computador, x86 ou x64. (Dica: Se no Windows existir uma pasta Arquivos de Programas e Arquivos de Programas (x86), a versão do Windows é x64). Figura 1 - Download do PHP no site oficial.

Fonte: CARLOS (2015). Prof. Thiago Lima

7

PHP – Do básico ao upload

Após o download, deve ser descompactado o arquivo .zip na partição principal do computador (normalmente C:) e renomeie a pasta para simplesmente php, conforme a seguir: Figura 2 - Extração no diretório C:.

Fonte: CARLOS (2015). Agora o PHP deverá ser visível a todo momento e local do sistema, o que deverá ser realizado da seguinte forma: •

Abrir o Painel de Controle, ir em Sistema, selecionar a guia Avançado, e depois selecionar Variáveis de ambiente no rodapé da janela.



Na seção Variáveis do sistema, selecione Path, agora clicar em Editar, em Valor da variável, ir até o final do campo de texto, e colocar o caminho onde o PHP está, acrescentando antes ; (ponto e vírgula) para finalizar os caminhos anteriores e deverá ser inserido c:\php, ficando assim: o ;c:\php. Confirme tudo e o PHP está configurado.

Prof. Thiago Lima

8

PHP – Do básico ao upload

Figura 3 - Inserção do caminho do PHP nas variáveis de ambiente.

Fonte: CARLOS (2015). Deverá ser configurado o arquivo de hosts para apontar o nome localhost para 127.0.0.1. No Windows XP é mais simples editar o arquivo de host diretamente, entretanto no Vista, 7, 8 e 10 será necessário iniciar algum editor de texto em modo administrador. No Windows XP abre o Executar e digite: notepad c:\windows\system32\drivers\etc\hosts No Windows Vista, 7 ou 8 deverá ser selecionado o editor de texto com o botão direito do mouse e selecionado Executar como administrador. Ao abrir, deverá ser indicado o caminho c:\windows\system32\drivers\etc. O arquivo hosts deverá ser aberto, caso não apareça, a opção Todos os arquivos para ele ser mostrado na janela deverá ser selecionada. Verifique se existe a linha 127.0.0.1

localhost, se existir está pronto, senão acrescente-

a ao final do arquivo, salve e feche o programa.

Prof. Thiago Lima

9

PHP – Do básico ao upload

Figura 4 - Conteúdo parcial do arquivo c:\windows\system32\drivers\etc\hosts.

Fonte: CARLOS (2015). O sistema deverá ser reinicializado e o PHP estará começando a ficar ativado. Para verificar seu funcionamento, deverá ser inicializado um terminal de preferência (geralmente cmd) e execute a seguinte linha de comando: php –version Figura 5 - Tela de informações do PHP a partir de um terminal.

Fonte: CARLOS (2015).

Prof. Thiago Lima

10

PHP – Do básico ao upload

1.2.1

SERVIDOR EMBUTIDO DO PHP

Até a versão do PHP 5.3 era necessário ter um servidor web (Apache, Nginx, etc) a parte instalada para trabalhar com o PHP, mas, a partir da versão 5.4 a comunidade introduziu um servidor embutido nele. Com ele pode-se iniciar um servidor a qualquer momento e em qualquer pasta e ainda ter múltiplos servidores rodando simultaneamente em portas diferentes, claro. Para iniciar o servidor embutido, na raiz de qualquer pasta de projeto PHP, digite o seguinte comando em um terminal de comando (cmd): php -S localhost:8080 Figura 6 - Acesso à pasta de preferência e execução do comando supracitado no terminal.

Fonte: CARLOS (2015). Com isso, o servidor embutido no projeto será inicializado, bastando apenas acessar no browser http://localhost:8080/index.php por exemplo, e a aplicação já está funcionando. Então, para usar o servidor embutido é só digitar no terminal: php -S localhost:(porta que esteja livre: 8080,8081,9999,etc).

1.3 EXERCÍCIOS

1A) Instale o PHP e configure seu servidor embutido para testar os códigos desenvolvidos.

1B) Crie um script que escreva na tela através de um Cabeçalho 1 o seguinte texto: “Meu primeiro SCRIPT PHP”. Prof. Thiago Lima

11

PHP – Do básico ao upload

2 FORMULÁRIOS HTML

Formulários HTML são um dos principais pontos de interação entre um usuário e um web site ou aplicativo. Eles permitem que os usuários enviem dados para o website. Na maior parte do tempo, os dados são enviados para o servidor da web, mas a página da web também pode interceptar para usá-los por conta própria. Um formulário HTML é feito de um ou mais widgets. Esses widgets podem ser campos de texto (linha única ou de várias linhas), caixas de seleção, botões, checkboxes ou radio buttons. A maior parte do tempo, estes elementos são emparelhados com uma legenda (label) que descreve o seu objetivo. Para trabalhar com HTML são necessárias duas coisas: Um editor de texto e um navegador. A principal diferença entre um formulário de HTML e um documento regular de HTML é que, maioria das vezes, o dado coletado é enviado ao servidor. Nesse caso, é necessário configurar um servidor web para receber e processar os dados.

2.1 DESENHANDO UM FORMULÁRIO

Antes de começar a codificar, é sempre melhor dar um passo atrás e tomar o tempo para pensar sobre o formulário. Desenhando um rascunho rápido irá ajudar a definir o conjunto correto de dados que se quer perguntar ao usuário. De um ponto de vista da experiência do usuário (UX), é importante lembrar que quanto maior o formulário, maior o risco de perder os usuários. Mantenha o formulário simples e mantenha o foco: solicite apenas o que é absolutamente necessário. A criação de formulários é um passo importante quando se está construindo um site ou um aplicativo. A seguir um esboço de um formulário de contato simples.

Prof. Thiago Lima

12

PHP – Do básico ao upload

Figura 7 - Rascunho de formulário de contato simples.

Fonte: MOZILLA (2017). O formulário terá três campos de texto e um botão. Basicamente, pede-se ao usuário o seu nome, seu e-mail e a mensagem que deseja enviar. Ao pressionar o botão apenas irá enviar os dados para o servidor web.

2.2 CODIFICANDO O FORMULÁRIO

Para construir o formulário de contato acima, utilizar-se-á os seguintes elementos , , e .

2.2.1

ELEMENTO FORM

Todos formulários HTML começam com um elemento . Exemplo:

Prof. Thiago Lima

13

PHP – Do básico ao upload

Este elemento define um formulário. É um elemento de container como um elemento ou , mas ele também suporta alguns atributos específicos para co...


Similar Free PDFs