Escolar Documentos
Profissional Documentos
Cultura Documentos
Cu r so de PH P e M ySQL
2
1 – M ySQL
MySQL é um servidor de banco de dados SQL m ult i- usuário e
m ult i- t hreaded. SQL é a linguagem de banco de dados m ais popular no
m undo. MySQL é um a im plem ent ação client e- servidor que consist e de
um servidor e diferent es program as client es e bibliot ecas.
SQL é um a linguagem padronizada que t orna fácil o
arm azenam ent o e acesso de inform ações. Por exem plo, pode- se usar
SQL para recuperar inform ações de produt os e arm azenar inform ações
de client es para um sit e Web.
O servidor MySQL é t am bém rápido e flexível o suficient e para
perm it ir arm azenar logs e figuras nele. As principais vant agens do
MySQL são velocidade, robust ez e facilidade de uso. MySQL foi
originalm ent e desenvolvido pois a equipe da T.c.X. Dat aKonsult AB
( em presa que desenvolveu MySQL) precisava de um servidor SQL que
pudesse m anipular banco de dados grandes num a ordem de m agnit ude
m ais rápida que qualquer banco de dados com ercial pudesse lhes
oferecer. A equipe da TcX t em usado MySQL desde 1996 em um
am bient e com m ais de 40 banco de dados cont endo 10.000 t abelas, das
quais m ais de 500 t êm m ais de 7 m ilhões de regist ros. I st o som a
aproxim adam ent e 100 Gbyt es de dados.
!" Manipula um núm ero ilim it ado de usuários sim ult âneos;
!" Alt a velocidade de execução;
!" Possui API s C, C+ + , Eiffel, Java, Perl, PHP, Pyt hon e TCL;
!" Trabalha com diferent es plat aform as: Unix, Windows et c.;
!" Disponibiliza diversos t ipos de dados: I NT ( int eiros sinalizados e não-
sinalizados de 1, 2, 3, 4 e 8 byt es) , FLOAT, DOUBLE, CHAR,
VARCHAR, TEXT, BLOB, DATE, TI ME, DATETI ME, TI MESTAMP, YEAR,
SET e ENUM;
!" Alt a velocidade na execução de j oins usando m ult i- j oin ot im izado;
!" Suport e com plet o a operadores e funções nas cláusulas SELECT e
WHERE;
!" Suport e às cláusulas GROUP BY e ORDER BY e a funções de grupo
( COUNT( ) , AVG( ) , STD( ) , SUM( ) , MAX( ) e MI N( ) ) ;
!" Suport e a LEFT OUTER JOI N com a sint axe ANSI SQL e ODBC;
!" Possibilidade de m ist urar t abelas de diferent es bancos de dados na
m esm a query;
3
!" Sist em a de privilégios flexível, sim ples, eficient e e seguro, que
perm it e verificação baseada em host .
!" Suport e a ODBC ( Open Dat aBase Connect ivit y) para Windows95 e
suas funções. É possível, por exem plo, usar o Access para conect ar
ao servidor MySQL;
!" Tabelas de disco sob a form a B- t ree rápidas com com pressão de
índices;
!" Perm it e 16 índices por t abela;
!" Disponibiliza regist ros de t am anho fixos e variados;
!" Manipula grandes bancos de dados com vast os volum es de
inform ações, na ordem de 50.000.000 regist ros;
!" Escrit a em C e C+ + . Test ada com diferent es com piladores;
!" Possui um sist em a de alocação de m em ória ext rem am ent e rápido;
!" Suport e t ot al ao conj unt o de caract eres I SO- 8859- 1 Lat in1, t odos os
dados são salvos e ordenados nest e form at o;
!" Perm it e a definição de aliases em colunas e t abelas com o no padrão
SQL92;
!" DELETE, I NSERT, REPLACE e UPDATE devolvem o núm ero de linhas
afet adas pelo com ando;
!" Nom es de funções não ent ram em conflit o com nom es de t abelas ou
colunas;
!" O servidor pode em it ir m ensagens de erros em diversas linguagens;
!" Client es podem conect ar ao servidor MySQL ut ilizando conexões
TCP/ I P, Unix socket s ou sob o Windows NT.
1 .2 - A Est r u t u r a
4
!" I NT( M) [ Unsigned] : núm eros int eiros ent re - 2147483648 e
2147483647. A opção " unsigned" pode ser usada na declaração
m udando o int ervalo para 0 e 4294967295 para int eiros não-
sinalizados;
!" FLOAT [ ( M,D) ] : núm eros decim ais com D casas decim ais;
!" DATE: arm azena inform ação relat iva a dat as. O form at o default é
'YYYY- MM- DD' e as dat as variam ent re '0000- 00- 00' e '9999- 12- 31'.
MySQL provê um poderoso conj unt o de com andos para form at ação e
m anipulação de dat as;
!" TEXT/ BLOB: st rings ent re 255 e 65535 caract eres. A diferença ent re
TEXT e BLOB é que no prim eiro o t ext o não é sensível ao caso e no
segundo sim ;
!" SET: conj unt o de valores st rings;
!" ENUM: conj unt o de valores st rings, difere do SET pois só são
arm azenados valores previam ent e especificados.
Além dos t ipos de dados exist em out ras opções a serem usadas
em conj unt o com os t ipos de dados para a criação de t abelas e
especificação de colunas:
!" Prim ary Key ( Chave Prim ária) : usada para diferenciar um regist ro do
out ro. Cada regist ro, dest a form a, não pode t er a m esm a chave
prim ária.
!" Aut o_increm ent : um a coluna com est a opção é aut om at icam ent e
increm ent ada quando da inserção de um regist ro;
!" NOT NULL: não perm it e a inserção de valores nulos.
!" A t abela host det erm ina quais os host s que est ão habilit ados a
acessar o servidor MySQL. Sua est rut ura de colunas é a seguint e:
Host , Db, Select _priv, I nsert _priv, Updat e_priv, Delet e_priv,
5
Creat e_priv, Drop_priv, sendo que as duas prim eiras colunas
est abelecem , de qual host o banco de dados pode ser acessado e as
colunas t erm indas em priv são privilégios de acesso especificados
com Y ou N ( o default é N) .
!" A t abela user det erm ina os usuários que podem acessar o servidor e
suas senhas de ident ificação a part ir de um host . Sua est rut ura de
colunas é: Host , User, Password, Select _priv, I nsert _priv,
Updat e_priv, Delet e_priv, Creat e_priv, Drop_priv, Reload_priv,
Shut down_priv, Process_priv, File_priv;
!" A t abela db cont ém as inform ações relat ivas a qual banco de dados
um usuário de um cert o host pode acessar: Host , Db, User,
Select _priv, I nsert _priv, Updat e_priv, Delet e_priv, Creat e_priv,
Drop_priv.
1 .4 - O Am bie n t e M ySQL
6
um a_t abela values( 1,2) ; ” ) , criar bancos de dados ( “ creat e um a_bd; ” ) ,
criar t abelas ( “ creat e t able t est e( id int , descricao varchar( 50) ) ; ” ) ,
m ost rar t abelas do banco de dados selecionado ( “ show t ables; ” ) ,
descrever a est rut ura de um a t abela ( “ describe um a_t abela; ” ou “ show
colum ns from um a_t abela; ” ) , rem over t abelas ( “ drop t able t est e; ” ) e
out ros com andos SQL com uns à m anipulação e cont role de bancos de
dados. O com ando para desconect ar- se do am bient e é “ quit ” .
1 .5 - Ex e m plos
7
+-----------------+
| Tables in Curso |
+-----------------+
| Aluno |
+-----------------+
1 row in set (0.00 sec)
8
+----+-----------+
| ID | Nome |
+----+-----------+
| 1 | Guilherme |
| 2 | Fulano |
+----+-----------+
2 rows in set (0.00 sec)
mysql> quit
Bye
Database changed
mysql> show tables;
+-----------------+
| Tables in Curso |
+-----------------+
| Aluno |
+-----------------+
1 row in set (0.00 sec)
9
mysql> drop table Aluno;
Query OK, 0 rows affected (0.00 sec)
+----------+
| Database |
+----------+
| mysql |
| test |
+----------+
2 rows in set (0.00 sec)
mysql> quit
Bye
10
2 - PH P
PHP é um a linguagem de script no lado do servidor ( server- side)
em but ida no HTML, port ant o é necessário inst alar o int erpret ador da
linguagem no servidor de Web. PHP, assim com o MySQL, est ão
disponíveis para download para sist em as UNI X, m as para o sist em a
operacional Windows precisam de um a licença.
PHP é diferent e de um script CGI escrit o em linguagens com o Perl
ou C pois, ao invés de escrever um program a com m uit os com andos
para saída em HTML, você escreve um script HTML com um código
em but ido para fazer a m esm a coisa. O código PHP é encapsulado em
t ags especiais de início e fim que perm it em você alt ernar para dent ro e
fora do m odo PHP.
O que dist ingue PHP de algo com o um Javascript no lado do client e
é que o código é execut ado no servidor. Se você t ivesse um script PHP
em seu servidor, o client e iria receber os result ados da execução dest e
script , e de m aneira algum a poderia det erm inar qual o código que est á
por baixo dest a execução. É possível configurar um servidor Web para
processar t odos os arquivos HTML com código PHP, e ent ão realm ent e
não há m aneira de os usuários perceberem que exist e código em but ido
na página HTML.
No nível m ais básico, PHP pode fazer qualquer out ra coisa que um
program a CGI pode fazer, t al com o colet ar dados de um form ulário,
gerar cont eúdo de páginas dinâm icas, ou enviar e receber cookies.
Talvez a m aior e m ais significant e caract eríst ica em PHP é seu
suport e a um a faixa m uit o am pla de bancos de dados. Escrever um a
página Web baseada em um banco de dados é m uit o sim ples. Os
seguint es bancos de dados são at ualm ent e suport ados: Adabas D,
I nt erbase, Solid, Dbase, m SQL, Sybase, Em press, MySQL, Velocis,
FilePro, Oracle, Unix dbm , I nform ix, Post greSQL.
PHP t am bém t em suport e a com unicação para out ros serviços
usando prot ocolos t ais com o I MAP, SNMP, NNTP, POP3, ou m esm o
HTTP. Você pode t am bém abrir socket s de rede e int eragir usando
out ros prot ocolos.
Um exem plo de um script dinâm ico que im prim e a dat a at ual est á
a seguir:
<HTML>
<HEAD>
<TITLE>Script de exemplo</TITLE></HEAD>
<BODY>
<CENTER>Bem-vindo ao script de exemplo:</CENTER>
<?php
/* "<?" acima indica o início do script PHP */
$hoje = date("Y-m-d");
print "<BR><BR>Hoje é: $hoje.";
# o sinal "?>" seguinte indica o fim do script
11
?>
</BODY>
</HTML>
Hoje é: 2000-05-06.
1. Todos os com andos PHP3.0 devem ser envolvidos pelas t ags < ? e ?> .
Um a segunda m aneira de denot ar com andos PHP é envolvendo- os
nas t ags < ?php e ?> ;
2. Todas as sent enças de saída para a t ela devem ser envolvidas por
aspas ( “ ) e conduzidas pelos com andos print ou echo;
3. Quase t odos os com andos PHP3.0 t erm inam com um pont o- e- vírgula;
4. Todo com ando HTML dent ro do com ando print será execut ado
norm alm ent e pelo browser e desem penhará sua função usual;
5. Docum ent os incluindo código PHP devem ser salvos com a ext ensão
.php ou .php3, ist o inform ará ao int erpret ador PHP3.0 para execut ar
os com andos encont rados dent ro das t ags < ? e ?> . É possível
t am bém ut ilizar ext ensões diferent es do padrão, m as isso acarret ará
o uso das t ags < ?php e ?> no sent ido de inform ar ao servidor Web
que é o int erpret ador PHP3.0 que se encarregará de execut ar o
script , j á que ist o não pode ser ident ificado pela ext ensão do arquivo;
6. A função dat e apresent ada no script acim a é um a das m ilhares de
funções que o PHP disponibiliza, ela t em o form at o: st ring dat e
( st ring form at o, int t im est am p) ; , ou sej a, ret orna um st ring e aceit a
dois parâm et ros: o t ipo de form at o a ser aprensent ado e um valor
t im est am p 1 de dat a opcional ( quando om it ido, com o no nosso caso,
considera a dat a at ual) .
Um a grande caract eríst ica de PHP3.0 é a capacidade de
const rução de t em plat es HTML, que são m uit o út eis quando se est á
desenvolvendo um sit e com m uit as páginas. I sso é possível at ravés do
com ando include que perm it e a inserção de código, provindo de um
arquivo separado, dent ro de um docum ent o HTML. Dest a m aneira é
possível est abelecer, por exem plo, um arquivo de rodapé num arquivo
cham ado rodape.t xt que aparecerá em várias páginas sem precisar
reescrever o código, apenas ut ilizando o com ando include, com o segue:
1
Tim est am p é um form at o especial de dat a, geralm ent e usado em sist em as UNI X, ele
arm azena sob a form a de um núm ero int eiro, os segundos, m inut os, horas, dia, m ês e
ano de um a dat a. Sendo que a cada segundo ele increm ent a o seu valor, t ornando
sim ples a m anipulação de dat a a part ir de operadores com o som a, subt ração et c.
12
<? include("rodape.txt"); ?>
2 .1 - Um br e ve h ist ór ico de PH P
PHP foi concebido num dia do out ono de 1994 por Rasm us Lerdof.
A prim eira versão ut ilizada ficou disponível no início de 1995 e foi
conhecida com o Personal Hom e Page Tools. Ele consist ia de um
analisador m uit o sim ples que ent endia som ent e algum as m acros e um
núm ero de ut ilidades que est avam em uso com um nas hom e pages at é
ent ão, um livro de visit ant es ( Guest book) , um cont ador e algum as
out ras coisas. O analisador foi escrit o em m eados de 1995 e foi
cham ado de PHP/ FI versão 2. Rasm us com binou os script s do Personal
Hom e Page Tools com o Form I nt erpret er e adicionou suport e a m SQL.
PHP/ FI cresceu e as pessoas com eçaram a cont ribuir com o seu código.
É difícil dar est at íst icas, m as est im a- se que, no fim de 1996,
PHP/ FI est ava em uso em pelo m enos 15.000 sit es pelo m undo. Na
m et ade de 1997 est e núm ero cresceu para m ais de 50.000 e nest a
época ocorreram m udanças no desenvolvim ent o do PHP. O analisador
foi reescrit o por Zeev Suraski e Andi Gut m ans e o novo analisador deles
form ou a base do PHP versão 3.
13
2 .2 - Com e n t á r ios
Todo program a deve possuir com ent ários, visando o ent endim ent o
do código em consult as post eriores. No PHP, exist em t rês t ipos de
m arcadores de com ent ário, que são:
/*
Nas linhas abaixo, atribuiremos os valores
Do nome e do e-mail às respectivas variáveis
*/
$nome = "Guilherme Birckan";
$email = "birckan@inf.ufsc.br";
2 .3 – Va r iá ve is
Para com eçar, vam os ver com o o PHP t rat a suas variáveis ( ou
const ant es) , que podem ser variáveis escalares ou não- escalares. As
variáveis escalares são aquelas que podem ser ret rabalhadas, ou
" divididas em pedaços m enores" , enquant o as não escalares são as
arrays ( m at rizes) e os obj et os.
A ident ificação de um a variável, independent e do seu t ipo é pelo
sinal $ colocado com o prim eiro caract ere, com o abaixo:
14
2 .3 .1 – I nt e ir os e pont o flut ua nt e
As variáveis int eiras são bast ant e sim ples de ser usadas, sem
nenhum a diferença das dem ais linguagens que você est á habit uado a
usar. Segue as sint axes abaixo:
$a = 123;
$b = - 123;
2 .3 .2 – Ar r a ys
PHP suport a arrays sim ples e m últ iplas dim ensões ( t am bém
cham adas de m at rizes) . Usa- se um a variável sim ples indexada para
denot ar um array. Est a indexação pode ser feit a por núm eros ou m esm o
por st rings usando colchet es:
$a[ 1] = “ abc” ;
$a[ 1] = “ def” ;
$b[ “ a” ] = 15;
$fruit s = array ( " lem on" , " orange" , " banana" , " apple" ) ;
sort ( $fruit s) ;
$a[ 1] [ 2] = $f;
$b[ 1] [ “ bola” ] = $f / / Você pode m ist urar índices
$b[ “ bar” ] [ 5] [ “ m esa” ] [ 2] = $f; / / array de 4 dim ensões
15
Em PHP3 t em os um problem a de referenciar arrays
m ult idim encionais dent ro de st rings. O exem plo a seguir não funciona:
$a[ 1] [ 5] = $f;
echo “ I st o não vai funcionar: $a[ 1] [ 5] ” ;
2 .3 .3 – St r ings
Sign ifica do
\ n Nova linha
\ t Tab horizont al
\ \ Cont ra barra
\ $ Dollar
$st r = “ Abacat e” ;
$st r = $st r . “ grande” ; / / concat ena “ grande” na st ring
$st r .= “ e m adura” ; / / concat ena “ e m adura” na st ring
16
2 .3 .4 – Va r iá ve is de va r iá ve is
echo “ $a ${ $a} ” ;
2 .3 .5 – Type ca st ing
2 .3 .6 – Va r iá ve is por r e fe r ê n cia n o PH P4
17
2 .4 - Ope r a çõe s M a t e m á t ica s
$valorbruto = 10;
$desconto = 10 * $valorbruto / 100;
$valorliquido = $valorbruto - $desconto;
2 .5 - Ope r a dor e s
Ex e m plo N om e
$a + $b Adição
$a - $b Subt ração
$a * $b Mult iplicação
$a / $b Divisão
$a % $b Modulo da divisão
Operador de at ribuição:
Ex e m plo N om e
$a = $b At ribuição
$a = ( $b = 4) + 5; / / $b recebe 4 e $a recebe 9
18
Operadores lógicos:
Exemplo Nome
$a == $b Igual
$a === $b Idêntico
$a != $b Não igual
$a < $b Menor que
$a > $b Maior que
$a <= $b Menor ou igual
$a >= $b Maior ou igual
Operadores de execução:
Ex e m plo N om e Efe it o
+ + $a Pré- increm ent o I ncrem ent a $a, depois ret orna seu valor
$a+ + Pós- increm ent o Ret orna o valor de $a, depois increm ent a
- - $a Pré- decrem ent o Decrem ent a $a, depois ret orna seu valor
$a- - Pós- decrem ent o Ret orna o valor de $a, depois decrem ent a
19
2 .6 - Ope r a çõe s com st r in gs
Exem plo:
• st r pos ( ) , para saber se det erm inado caract ere ( ou subst ring)
est á cont ida em um a st ring:
No exem plo acim a, verificam os se o caract ere " @" est á cont ida em
um a variável $em ail. Se est iver, exibe a prim eira m ensagem . Do
cont rário, exibe a segunda.
Out ras funções relacionadas à operações com st rings podem ser
encont radas em
20
2 .7 - Con t r ola n do o flu x o e LOOPS
if ($sexo == "m") {
echo "Você é do sexo Masculino\n";
} elseif ($sexo == "f") {
echo "Você é do sexo Feminino\n";
} else {
echo "Por favor, informe corretamente seu sexo\n";
}
switch ($sexo) {
case "m":
echo "Você é do sexo Masculino\n";
break;
case "f"
echo "Você é do sexo Feminino\n";
break;
case default:
echo "Por favor, informe corretamente seu sexo\n";
break;
}
Sem pre inclua o com ando break no final do case. Caso cont rário, a
execução cont inuará at é encont rar o final do swit ch ( ou a inst rução
break) , fazendo com que as inst ruções de m ais de um case sej am
execut adas.
21
while ($contador > 0) {
$contador = $contador - 2;
}
• for , para execução de um loop det erm inada quant idade de vezes:
2 .8 - Tr a t a n do for m u lá r ios
<?php
$erro = "";
if ($nome == "") {
$erro .= "Digite seu Nome\n"; }
Est a prim eira part e faz a consist ência dos dados e alt era o valor
da variável $erro, caso algum a das condições não sej a sat isfeit a. Para
prosseguir, devem os verificar a ocorrência de erros e ent ão enviar o e-
m ail se erros não t iverem ocorrido ou enviar um a t ela de respost a
inform ando qual o erro acont eceu. Com o o valor de $erro ant es da
verificação dos cam pos é " " , bast a t est ar se a variável ainda t em est e
valor para saber se acont eceu ou não um erro. Vam os cont inuar:
22
echo("<html><title>Envie o formulário
abaixo</title><body><center>\n"); # Cabeçalho de resposta.
Pront o!
• e- m ail. Sua sint axe é a seguint e: m ail( Dest inat ário, Assunt o,
Mensagem , I nform ações_Adicionais) ;
2 .9 – Fu n çõe s
23
Alguns exem plos de funções:
/*
Esta função retorna TRUE ou FALSE, dependendo da validade ou
não do e-mail informado.
*/
function verifica_email($email){
if strpos ($email, "@") = 0 {
return false;
} else {
return true;
}
}
/*
Neste exemplo calculamos o valor líquido, tendo o valor bruto
e o desconto a ser aplicado. Se o desconto não for informado,
utilizaremos 10% como padrão.
*/
function valor_liquido($valor_bruto, $desconto = 10) {
return ($valor_bruto - ($valor_bruto * $desconto/100));
}
Os dois exem plos acim a receberam seus parâm et ros por valor.
I sso significa que as alt erações de variáveis realizadas dent ro da função
só t erão efeit o no cont ext o da função, e est as m udanças não reflet irão
no rest o do script . Em alguns casos pode ser int eressant e que os valores
dos parâm et ros sej am alt erados pela função, e que seus novos valores
reflit am no script com o um t odo. Para conseguir ist o, usam os a t écnica
de passagem de parâm et ro por referência. Vam os ver um exem plo:
function completaURL(&$mv_URL) {
$mv_URL .= "http://".$mv_URL;
}
$URL = "www.inf.ufsc.br";
completaURL($URL);
24
2 .1 0 – Cla sse s
class carro {
class Pessoa {
var $idade;
funct ion Pessoa( ) {
$idade = 0; / / Todo obj et o dest a classe é criado com 0 anos
}
}
As classes podem herdar caract eríst icas de out ras classes. Criando
um a classe derivada de um a out ra classe, com o no exem plo a seguir da
criação da classe Aluno, derivada da classe Pessoa:
class Pessoa {
var $nom e;
var $endereço;
}
25
Todas as caract eríst icas da classe m ãe são herdadas pela classe
filha. A herança m últ ipla não é suport ada pelo PHP.
$conn = m ysql_connect ( " localhost " , " visit ant e" , " t em p99" ) ;
26
Nest e pont o j á t em os um a conexão com o servidor e j á criam os
um link com o banco de dados. Agora podem os enviar os com andos SQL
que desej arm os. Se você não souber SQL, aprenda : - )
Agora segue nosso exem plo prát ico: Vam os usar o script do
m ódulo passado e alt erá- lo de m odo que os dados digit ados no
form ulário sej am gravados no banco de dados Curso ant es de enviar o
e- m ail.
< ?php
# Cabeçalho de respost a.
echo( " \ n" ) ;
echo( " < cent er> \ n" ) ;
\ n" ) ;
27
echo( " < b> $erro < / b> \ n" ) ;
echo( " < br> < br> < a href= form .ht m > Volt ar\ n" ) ;
}
echo( " < / cent er> " ) ;
• Conect ar ao servidor
• Abrir o banco de dados ( um servidor SQL pode t er m ais de um banco
de dados)
• Enviar os com andos SQL
• Desconect ar do servidor
A novidade dest e exem plo fica por cont a do com ando die que finaliza o
script caso a função que o precede não possa ser execut ada.
2 .1 2 - FTP e H TTP
28
O com ando acim a gravará um cookie cham ado " Visit ou" com o
valor " sim " , com apenas um a hora de duração. Not e que o 3600 é o
núm ero de segundos além do horário at ual que o cookie deve ficar
at ivo. Se no lugar de 3600, usássem os 36000, o cookie seria at ivo por
10 horas.
$conn = ftp_connect(“ftp.inf.ufsc.br”);
$log = ftp_login($conn, 'login', 'pass');
ftp_put($con, 'arquivo_remoto', 'arquivo_local',
FTP_ASCII/FTP_BINARY);
ftp_quit($conn);
2 .1 3 - Se ssõe s
• session_st art ( ) ;
• session_regist er( ” VARI ÁVEL" ) ;
• session_dest roy( ) ;
Exem plo:
<?php
session_start();
session_register("VARIAVEL");
if (!isset($VARIAVEL)) {
header("Location: error.php");
exit();
}
print "Passou!!";
?>
2 .1 4 - Tr a t a m e n t o de Ar qu ivos
29
que para se m anipular arquivos, t em - se que abrir e fechar o arquivo. O
PHP possui as seguint es funções para se abrir e fechar arquivos:
Exem plos:
30
Nest e últ im o exem plo, pega- se linha a linha de um arquivo e
im prim e em HTML separando as linhas pela t ag “ < br> ” .
2 .1 5 - Tr a t a m e n t o de Er r os
Além disso o t rat am ent o de erros pode ser feit o no próprio script ,
conform e explicado abaixo:
31
Bibliogr a fia
32