Beruflich Dokumente
Kultur Dokumente
PHP 5
Terceira edio
Juliano Niederauer
Novatec
Sumrio
Introduo ao PHP.................................................................................... 5
O que PHP?..............................................................5
Download e instalao.................................................5
Iniciando em PHP...................................................................................... 6
Variveis................................................................................................... 7
Constantes................................................................................................ 7
Arrays....................................................................................................... 8
Objetos..................................................................................................... 9
Operadores............................................................................................... 9
Aritmticos..................................................................9
Binrios..................................................................... 10
Comparao.............................................................. 10
Atribuio................................................................. 10
Lgicos......................................................................11
Estruturas de controle em PHP................................................................ 11
Definio de funes............................................................................... 15
Dados de formulrios HTML..................................................................... 15
Leitura e gravao em arquivos-texto...................................................... 16
Integrao com bancos de dados............................................................. 16
Funes do PHP....................................................................................... 17
Apache...................................................................... 17
Arrays....................................................................... 18
BCMath Nmeros de preciso arbitrria.................. 24
Bzip2 Compresso.................................................. 25
Calendrio................................................................26
COM Suporte para Windows.................................. 27
Classes/Objetos......................................................... 29
Controle de sada (output)......................................... 30
Data e Hora................................................................31
dbx........................................................................... 34
Diretrios................................................................. 35
DOM XML...............................................................36
Erros Tratamento e Registro (Logging).....................40
Execuo de programas..............................................41
Expresses regulares (Perl)......................................... 42
Expresses regulares (POSIX)..................................... 43
Filesystem (Sistema de Arquivos)................................ 43
FTP..........................................................................48
HTTP.......................................................................50
Imagens.....................................................................51
IMAP, POP3 e NNTP................................................. 58
Sumrio
InterBase................................................................... 63
LDAP........................................................................66
Mail.......................................................................... 69
Matemtica............................................................... 69
Memria compartilhada............................................ 72
MIME....................................................................... 73
Microsoft SQL Server................................................ 73
Miscelnea................................................................ 75
MySQL..................................................................... 76
MySQLi....................................................................80
Network (Rede)......................................................... 85
ODBC....................................................................... 87
Opes e informaes do PHP....................................91
Oracle 8.................................................................... 93
PDF..........................................................................96
PostgreSQL............................................................. 104
Sesses..................................................................... 110
Sockets......................................................................111
SQLite..................................................................... 114
Strings..................................................................... 117
Sybase......................................................................123
URL.........................................................................125
Variveis.................................................................. 126
XML parser............................................................. 128
XSLT....................................................................... 130
Zlib Compresso................................................... 131
Informaes adicionais...........................................................................133
Download do cdigo-fonte........................................133
Verso do PHP utilizada no Guia...............................133
Problemas na execuo de funes............................133
Links sobre PHP...................................................... 134
Notao utilizada neste guia.................................... 134
Comentrios e sugestes.......................................... 134
ndice remissivo.....................................................................................135
Introduo ao PHP
Introduo ao PHP
O que PHP?
PHP uma das linguagens de programao mais utilizadas
na web para a criao de pginas dinmicas. Suas principais
caractersticas so:
Gratuito e com cdigo aberto: o arquivo de instalao pode
ser obtido gratuitamente no site http://www.php.net. Alm
disso, o PHP um software com cdigo-fonte aberto.
Embutido no HTML: o HTML e o PHP esto misturados.
Voc pode comear a escrever em PHP, ento escrever um
trecho em HTML, voltar para o PHP, e assim por diante.
Baseado no servidor: quando voc acessa uma pgina
PHP pelo seu navegador, todo o cdigo PHP executado
no servidor, e somente o resultado final exibido para
o usurio. Portanto, o navegador exibe a pgina j
processada, sem consumir recursos de seu computador.
Bancos de dados: diversos bancos de dados so suportados
pelo PHP, ou seja, o PHP possui cdigo que executa
funes de cada um. Entre eles temos MySQL, PostgreSQL,
SQLite, InterBase, Oracle, SQL Server, entre outros que
oferecem suporte linguagem SQL.
Portabilidade: pode-se executar o PHP no Linux, Unix ou
Windows NT.
Veja a seguir um exemplo de uma pgina web que contm
programao PHP. Em vez de nome-la como exemplo.html, ela ser
nomeada como exemplo.php, para que o browser possa identificar
que se trata de uma pgina com programao PHP.
exemplo.php
<html>
<head>
<title>Exemplo</title>
</head>
<body>
<?php
echo Este um script PHP!;
?>
</body>
</html>
Download e instalao
Se voc estiver utilizando os servios de um provedor de
hospedagem, provavelmente no precisar se preocupar com a
instalao e configurao do PHP e de outros softwares. Caso
contrrio, o PHP est disponvel para download em seu site oficial,
no endereo http://www.php.net/.
Introduo ao PHP
http://www.mysql.com
http://www.postgresql.org.
Iniciando em PHP
Um programa PHP pode ser escrito em qualquer editor de texto,
como, por exemplo, no Bloco de Notas (Notepad) do Windows
ou no VI do Linux. Um trecho de cdigo PHP deve estar entre
as tags <?php e ?> para que o servidor web reconhea que trata-se
de um cdigo de programao e possa chamar o interpretador
PHP para execut-lo. Para treinar, abra o editor de texto de sua
preferncia e digite as linhas a seguir.
exemplo2.php
<?php
// Que bacana, estou programando em PHP!!!
echo <h1 align=center>Este meu primeiro programa!</
h1>;
?>
Iniciando em PHP
Variveis
Servem para armazenar dados que podem ser utilizados em qualquer
ponto do programa.Ao contrrio de linguagens tradicionais, como
C, Pascal e Delphi, no PHP no necessrio fazer declarao de
variveis. Basta atribuir diretamente um valor a ela.
No PHP, as variveis devem iniciar com o smbolo $. Aps esse
smbolo deve vir o identificador da varivel, que no pode iniciar
com um nmero. Exemplos de variveis vlidas e invlidas:
Vlidas
$joao23
$casal20
$teste450
Invlidas
$100vergonha
$5
$20assustar
Veja que o valor das variveis $time e $titulo foi usado dentro da
string passada para o comando echo. O resultado ser:
O Grmio Campeo da Amrica
Constantes
So valores definidos no incio do programa e que no mudam ao
longo de sua execuo. Voc pode definir suas prprias constantes,
com o comando define, que possui a seguinte sintaxe:
bool define(string nome, misto valor [, bool case_insensitive])
(meunome,Joo);
(peso,80);
O meu nome . meunome;
<br>;
O meu peso . peso . quilos;
Constantes
Descrio
TRUE
FALSE
__FILE__
__LINE__
PHP_VERSION
PHP_OS
E_ERROR
E_WARNING
E_PARSE
E_NOTICE
Arrays
As variveis comuns (escalares) podem armazenar apenas um
valor por vez. Um array (vetor) pode armazenar vrios valores ao
mesmo tempo. Alm de possuir um identificador, um array possui
ndices (que podem ser nmeros ou strings). O ndice deve aparecer
entre colchetes ([]) logo aps o identificador do array. Veja a seguir
exemplos de armazenamento em arrays:
$vetor[0] = 30;
$vetor[1] = 40;
$vetor[3] = 50;
$vet[0]
Arrays
$clube [RS] [PortoAlegre] = Grmio;
$clube [MG] [BeloHorizonte] = Cruzeiro;
Objetos
Tambm possvel programar em PHP com o modelo orientado
a objetos. Podemos definir uma classe e dentro dela, as variveis
e funes que estaro disponveis aos seus objetos. Um objeto
a varivel que utilizamos para instanciar uma classe. Veja a seguir
um pequeno exemplo:
exemplo6.php
<?php
class teste
{
function Saudacao()
{
echo Oi pessoal!;
}
}
// $objeto se torna uma instncia da classe teste
$objeto = new teste;
$objeto -> Saudacao();
?>
Operadores
Aritmticos
Operadores
Operao
+
-
*
/
%
Adio
Subtrao
Multiplicao
Diviso
Resto da diviso
10
Operadores
Descrio
-oper
++oper
oper
oper++
oper
Binrios
Operadores
Descrio
~op1
op1 & op2
op1 | op2
op1 ^ op2
op1 >> n
op1 << n
Comparao
Operadores
Descrio
op1 == op2
op1 === op2
op1
op1
op1
op1
>= op2
<= op2
!= op2
!== op2
Atribuio
Operadores
op1
op1
op1
op1
op1
op1
op1
op1
op1
op1
op1
op1
= op2
+= op2
-= op2
*= op2
/= op2
.= op2
%= op2
<<= op2
>>= op2
&= op2
|= op2
^= op2
Descrio
op1 recebe o valor de op2.
Equivale a op1 = op1 + op2.
Equivale a op1 = op1 - op2.
Equivale a op1 = op1 * op2.
Equivale a op1 = op1 / op2.
Concatenao: equivale a op1 = op1.op2.
Equivale a op1 = op1 % op2.
Equivale a op1 = op1 << op2.
Equivale a op1 = op1 >> op2.
Equivale a op1 = op1 & op2.
Equivale a op1 = op1 | op2.
Equivale a op1 = op1 ^ op2.
11
Operadores
exemplo7.php
<html>
<body>
<?php
$soma=0;
$valor1 = 10;
$valor2 = 20;
$valor3 = 30;
$soma += $valor1;
$soma +=$valor2;
$soma *= $valor3;
$soma %= 100;
echo $soma;
?>
</body>
</html>
//
//
//
//
$soma
$soma
$soma
$soma
fica
fica
fica
fica
com
com
com
com
10
10+20 = 30
30*30 = 900
900%100 = 0
Lgicos
Operadores
Descrio
!op1
op1 AND op2
op1 OR op2
op1 XOR op2
op1 && op2
op1 || op2
if
Comando que avalia uma expresso e, dependendo do resultado,
executado um conjunto diferente de instrues. O comando if
pode possuir como complemento o elseif e/ou o else. Observe a
sintaxe do comando if:
if (exp1)
{ bloco1}
elseif (exp2)
{bloco2}
else
{bloco3}
12
switch
O comando switch parecido com o if, pois ambos avaliam o valor
de uma expresso para escolher qual bloco de instrues deve ser
executado. A sintaxe do switch a seguinte:
switch (operador)
{
case valor1:
<comandos>
break;
case valor2:
<comandos>
break;
....
case valorN:
<comandos>
break;
default:
<comandos>
break;
}
13
while
O comando while (enquanto) composto por uma expresso e por
um bloco de comandos. O comando avalia a expresso, e enquanto
essa expresso retornar o valor verdadeiro, a execuo do bloco
de comandos em questo ser repetida. A sintaxe a seguinte:
while (exp)
{
comandos
}
do...while
A diferena entre o while e o do...while que o while avalia a expresso
no incio do lao, e o do...while avalia a expresso no final do lao.
A sintaxe do comando a seguinte:
do
{
comandos
} while (exp);
Veja um exemplo:
exemplo9.php
<?php
$numero = 1;
do
{
echo O valor atual de nmero $numero <br>;
$numero++;
} while ($numero<4);
?>
14
for
Utilizamos o comando for quando queremos executar um conjunto
de instrues por um determinado nmero de vezes. Sua sintaxe
a seguinte:
for (inicializao; condio ;operador)
{
comandos
}
foreach
O comando foreach nos oferece uma maneira mais fcil de
navegar entre os elementos de um array. Observe as duas
sintaxes possveis:
foreach ($nome_array as $elemento)
{
comandos
}
ou
foreach ($nome_array as $chave => $valor)
{
comandos
}
15
exemplo11.php
<?php
$vetor = array (1, 2, 3, 4);
foreach ($vetor as $v) {
print O valor atual do vetor $v. <br>;
}
$a = array (um => 1, dois => 2, tres => 3);
foreach($a as $chave => $valor) {
print \$a[$chave] => $valor.<br>;
}
?>
Definio de funes
As funes so muito teis para deixar o cdigo dos programas
mais organizado e mais modular, alm de evitarem a repetio de
determinado cdigo toda vez que precisarmos realizar a mesma tarefa.
A sintaxe do PHP para a construo de uma funo a seguinte:
function nome_funo (arg1, arg2, arg3 ..., argn)
{
comandos
[return <expresso>]
}
16
enviado para o programa exemplo13.php, que poderia obt-lo e exibilo da seguinte forma:
exemplo13.php
<?php
$nome = $_POST[nome];
echo O nome digitado foi $nome;
?>