Pós Graduação Unipê - Desenvolvimento Web com PHP - Aula 1
-
Upload
thyago-maia -
Category
Education
-
view
182 -
download
0
Transcript of Pós Graduação Unipê - Desenvolvimento Web com PHP - Aula 1
Desenvolvimento Web com PHP
Pós-Graduação em Desenvolvimento Web
Apresentação
Apresentação
• Professor: Thyago Maia Tavares de Farias
– Doutorando em Computação pelo Cin / UFPE– Mestre em Informática pelo PPGI / DI / UFPB– Bacharel em Ciência da Computação – UFPB– Currículo Lattes: http://lattes.thyagomaia.net– E-Mail: [email protected]
3
Apresentação
• Foco da disciplina
Apresentar funções PHP que permitam manipular arquivos, enviar e-mails, manipular cookies e variáveis de sessão;
Apresentar o paradigma orientado a objetos aplicado em PHP (PHP OO);
4
Apresentação
• Referência Bibliográfica
PHP – Programando com Orientação a Objetos
Autor: Pablo Dall’Oglio
Editora: Novatec
5
Apresentação
• Sites auxiliares:
– http://facebook.com/profthyagomaia– http://twitter.com/thyagomaia– http://www.slideshare.net/thyagomaia– http://www.php.net– http://www.w3schools.com– http://www.codeacademy.com.br
6
Apresentação
• Aplicações que serão utilizados no curso:
– Notepad++• https://notepad-plus-plus.org/
– Xampp• https://www.apachefriends.org/pt_br/index.html
7
Apresentação
• Avaliação:– Miniprojeto: Desenvolvimento de uma aplicação
PHP orientada a objetos;• Trabalho em Grupo (3 integrantes);• Conversão de um projeto PHP estruturado para OO;
– Critérios de Avaliação:• Aplicação das Competências e Habilidades Adquiridas
Durante o Curso, Organização do Projeto e Entrega de Relatório;
8
Manipulação de Arquivos em PHP
Manipulação de Arquivos
PHP fornece uma série de funções para a manipulação de arquivos;
Tais funções permitem: Abrir um arquivo para leitura e/ou escrita; Verificar ou controlar ponteiros de arquivo; Efetuar uma leitura e/ou uma escrita em um
arquivo; Fechar um arquivo;
10
Manipulação de Arquivos
fopen: Abre um arquivo e retorna um identificador;
11
fopen (string arquivo, string modo) Parâmetros Descrição
arquivo String que identifica o nome do arquivo
modo Descreve a forma de abertura do arquivo (“r” – read, “w” – write, “a” – append)
Manipulação de Arquivos
fopen – Exemplo:
12
<?php
$arquivo = fopen(“arquivos/arquivo.txt”, “r”);
if($arquivo)echo “O script abriu o arquivo <br>”;
elseecho “Erro ao abrir o arquivo!”;
?>
Manipulação de Arquivos
feof: Testa se um identificador de arquivo está no fim (End Of File);
13
feof (identificador) Parâmetros Descriçãoidentificador Identificador retornado pela função fopen
Manipulação de Arquivos
fgets: Lê uma linha de um arquivo;
14
fgets (identificador, tamanho) Parâmetros Descriçãoidentificador Identificador retornado pela função fopen
tamanho Quantidade em bytes a serem retornados da leitura (opcional)
Manipulação de Arquivos
fclose: Fecha o arquivo aberto, apontado pelo identificador de arquivo;
15
fclose (identificador) Parâmetros Descriçãoidentificador Identificador retornado pela função fopen
Manipulação de Arquivos feof, fgets e fclose – Exemplo:
16
<?php
$arquivo = fopen(“arquivo.txt”, “r”);
// Enquanto o fim do arquivo não for atingidowhile(!feof($arquivo)){
// Lê uma linha do arquivo$linha = fgets($arquivo);
echo $linha . “<br>”;}
fclose($arquivo);?>
Manipulação de Arquivos
fwrite: Grava uma string no arquivo apontado pelo identificador de arquivo;
17
fwrite (identificador, conteúdo) Parâmetros Descriçãoidentificador Identificador retornado pela função fopen
conteúdo String a ser escrita no arquivo
Manipulação de Arquivos
fwrite – Exemplo:
18
<?php
$arquivo = fopen(“arquivos/arquivo.txt”, “w”);
fwrite($arquivo, “String 1\n”);fwrite($arquivo, “String 2\n”);fwrite($arquivo, “String 3\n”);
fclose($arquivo);?>
Manipulação de Arquivos
file_put_contents: Grava uma string em um arquivo;
19
file_put_contents (nome_arquivo, conteúdo) Parâmetros Descriçãonome_arquivo Arquivo a ser aberto para escrita
conteúdo Novo Conteúdo
Manipulação de Arquivos
file_put_contents – Exemplo:
20
<?php
file_put_contents(“arquivos/arquivo.txt”,“Sport \n Campeão de 87”);
?>
Manipulação de Arquivos
file_get_contents: Lê o conteúdo de um arquivo;
21
file_get_contents (nome_arquivo) Parâmetros Descriçãonome_arquivo Arquivo a ser aberto para leitura
Manipulação de Arquivos
file_get_contents – Exemplo:
22
<?php
echo file_get_contents(“arquivos/arquivo.txt”);?>
Manipulação de Arquivos
file: Lê um arquivo e retorna um array com seu conteúdo;
23
file (nome_arquivo) Parâmetros Descriçãonome_arquivo Arquivo a ser aberto para leitura
Manipulação de Arquivos
file – Exemplo:
24
<?php
$arquivo = file(“arquivos/arquivo.txt”);
echo $arquivo[0];echo $arquivo[1];
?>
Manipulação de Arquivos
copy: Copia o conteúdo de um arquivo e cola em outro arquivo;
25
copy (arquivo_origem, arquivo_destino) Parâmetros Descrição
arquivo_origem Arquivo a ser copiadoarquivo_destino Arquivo destino
Manipulação de Arquivos
copy – Exemplo:
26
<?php
$origem = “arquivos/arquivo.txt”;$destino = “arquivos/copia.txt”;
if(copy($origem,$destino))echo “Cópia Efetuada”;
elseecho “Cópia não Efetuada”;
?>
Manipulação de Arquivos
rename: Renomea um arquivo e/ou um diretório;
27
rename (nome_atual, novo_nome) Parâmetros Descriçãonome_atual Arquivo/Diretório a ser renomeadonovo_nome Novo nome do arquivo/diretório
Manipulação de Arquivos
rename – Exemplo:
28
<?php
$atual = “arquivos/arquivo.txt”;$novo = “arquivos/testes.txt”;
if(rename($atual,$novo))echo “Arquivo renomeado”;
elseecho “Arquivo não renomeado”;
?>
Manipulação de Arquivos
unlink: Remove um arquivo passado como parâmetro;
29
unlink (nome_arquivo) Parâmetros Descriçãonome_arquivo Arquivo a ser excluído
Manipulação de Arquivos
unlink – Exemplo:
30
<?php
$arquivo = “arquivos/copia.txt”;
if(unlink($arquivo))echo “Arquivo apagado”;
elseecho “Arquivo não apagado”;
?>
Manipulação de Arquivos
file_exists: Verifica a existência de um arquivo ou de um diretório;
31
file_exists (nome_arquivo) Parâmetros Descriçãonome_arquivo Nome/localização de um arquivo/diretório
Manipulação de Arquivos
file_exists – Exemplo:
32
<?php
$arquivo = “arquivos/testes.txt”;
if(file_exists($arquivo))echo “Arquivo existente”;
elseecho “Arquivo não existente”;
?>
Manipulação de Arquivos
is_file: Verifica se o parâmetro corresponde a um arquivo ou não;
33
is_file (nome_arquivo) Parâmetros Descriçãonome_arquivo Nome/localização de um dado
Manipulação de Arquivos
is_file – Exemplo:
34
<?php
$dado = “arquivos/testes.txt”;
if(is_file($dado))echo $dado . “ é um arquivo!”;
elseecho $dado . “ não é um arquivo”;
?>
Manipulação de Diretórios em PHP
Manipulação de Diretórios
Função Objetivomkdir(nome_diretório) Cria um diretóriogetcwd() Retorna o diretório correntechdir(novo_diretório) Altera o diretório correntermdir(diretório) Apaga um diretórioopendir(diretório) Abre um diretório e retorna um
identificadorclosedir(diretório) Libera um recurso alocado por
opendirreaddir(identificador) Realiza a leitura do conteúdo de um
diretório
36
Exercício – Registro de log de acesso
Exercício
• Etapa 1 – Preparação do Domínio
Crie uma pasta em htdocs chamada login; Crie uma pasta em login chamada logs; Em logs, crie um arquivo TXT chamado acesso.txt;
38
Exercício
• Etapa 2 – Criação de um formulário HTML
Crie um formulário HTML que permita ao usuário digitar seu login e senha; Método de envio: POST; Os dados deverão ser submetidos para o script
“checa_login.php”; Salve o documento HTML na pasta login com o nome
index.html;
39
Exercício• Etapa 3 – Criação do script checa_login.php
O script deverá inicialmente receber o login e senha submetidos na etapa anterior e checar se o login e a senha estão corretos; Considere que o login padrão do sistema seja aula e a
senha seja php; Caso o usuário tenha o acesso confirmado, o
script deverá acessar o arquivo de log acesso.txt e escrever uma linha registrando o novo acesso ao sistema; Dados: IP do usuário, nome do usuário, data e hora de
acesso (pesquise por funções);40
Exercício
• Etapa 4 – Testar a aplicação
Abra o navegador de sua preferência e acesse: http://localhost/login ou http://127.0.0.1/login
OBS.: Verifique se o servidor Apache do Xampp está ativo! Efetue o login no sistema, abra o arquivo
acesso.txt e verifique se seu acesso foi registrado no log do sistema;
41