Documente Academic
Documente Profesional
Documente Cultură
1.1. Introducere
PHP este prescurtarea de la Hypertext PreProcessor.
Spre deosebire de paginile HTML care puteau fi verificate si pe calculatorul local paginile PHP nu pot fi
verificate decat daca sunt gazduite pe un server web care are instalat PHP.
Cand accesam o pagina HTML serverul care o gazduieste trimite pagina HTML catre browser spre afisare.
In cazul unei pagini PHP serverul citeste codul PHP, il interpreteaza si genereaza dinamic pagina HTML
care este trimisa browserului spre afisare. Acesta este motivul pentru care utilizatorii folosesc PHP pentru
construirea unor pagini cu continut dinamic.
Fisierele PHP au extensia php. Puteti scrie astfel de fisiere cu Notepad sau cel mai indicat cu un editor
specializat, de exemplu Crimson Editor, care va indica si numarul liniilor, lucru util la depanarea
scripturilor. Verificati ca nu aveti extensiile ascunse (My Computer -> Tools -> Folder Options -> View ->
debifati Hide extensions for known file types). Pentru a putea crea fisiere php dati clic dreapta New ->
Text Document, apoi il redenumiti nume.php.
Cand PHP-ul parcurge un fisier de fapt "citeste" textul pana cand intalneste una din etichetele speciale
care-i spun sa inceapa sa interpreteze textul ca pe cod PHP. Se executata codul pana cand este intalnita
eticheta de inchidere. Apoi se "citeste" din nou textul mai departe. Acesta este motivul pentru care se
poate adauga cod PHP in interiorul HTML-ului.
Important:
numele functiilor nu sunt Case Sensitive (nu se face diferenta intre utilizarea literelor mari sau mici)
numele variabilelor sunt Case Sensitive (se face diferenta intre utilizarea literelor mari sau mici)
ghilimelele se folosesc pereche "..." sau '...', folosirea lor "...' sau '..." constituie o eroare
Codul PHP este delimitat de unul din urmatoarele seturi de etichete de deschidere si inchidere:
<?php ?> etichete recomandate
<script language="php"?> </script>
<? ?> folosirea lor necesita anumite setari pe server
<% %> etichete tip ASP, folosirea lor necesita anumite setari pe server
<?php
echo "Acesta este un script PHP";
?>
Daca veti verifica functionarea acestui script pe un server veti vedea ca este afisat textul delimitat de
ghilimele.
Functia echo este folosita pentru afisarea informatiilor delimitate de ghilimele. Nu uitati sa inchideti
randul cu ;. Similar functiei echo este functia print.
In situatia in care scriptul nu este scris corect PHP-ul va afisa eroarea indicandu-va si locul unde aceasta
apare. Erorile sunt afisate doar daca serverul este setat corespunzator (in php.ini este setat
display_errors=On si error_reporting=E_ALL).
Exemplu: fisierul PHP poate contine intre etichetele <html> si </html> blocuri PHP delimitate de <?php ?
>
<html>
<head><title>Exemplu0_3</title>
</head>
<body>
Bloc HTML<br>
<?php
echo "Bloc PHP";
?>
</body>
</html>
In PHP sunt trei metode prin care se poate adauga un comentariu, evident neafisat in browser, cu scopul
de a adauga informatii necesare programatorului.
Tot ce urmeaza dupa caracterele // sau # este considerat comentariu. De exemplu:
Utilizare:
Un comentariu format din mai multe linii este incadrat de /* si */. De exemplu:
/* Comentariul in PHP
scris pe doua linii */
Acest tip de comentariu poate fi folosit si pentru ignorarea unor blocuri PHP. In exemplul urmator
browserul va afisa doar proba
/* echo "Tutorial";
echo "PHP"; */
echo "proba";
1. 2. Variabile
Variabila este un container de date care poarta un nume si i se poate atribui o valoare care poate fi
modificata de mai multe ori sau salvata intr-o baza de date. Numele dat variabilei incepe cu simbolul $
urmat de orice litera mica (a-z) sau mare (A-Z) sau cu caracterul _ dar niciodata cu o cifra si nu poate
contine spatii goale. De exemplu: $nume_variabila
$nume_variabila="valoare"
Este recomandat ca numele variabilei sa fie cat mai sugestiv pentru a evita incurcaturile in timpul scrierii
scriptului.
<?php
$program="PHP";
echo $program;
?>
Intr-un script puteti folosi mai multe variabile care pot fi adaugate in aceeasi constructie echo.
Exemplu:
<?php
$ziua="22";
$luna="12";
$anul="1995";
echo "Data nasterii este ".$ziua.".".$luna.".".$anul;
?>
Intreg (integer) este un simplu numar intreg exprimat in sistem zecimal, hexazecimal sau octal, optional
putand purta si semn (+ sau -).
In sistem octal numarul trebuie precedat de 0 iar pentru hexazecimal precedat de 0x.
Numerul cu virgula flotanta (float) sau dubla precizie este un numar real care poate fi folosit cu
urmatoarea sintaxa:
Exemplu:
<?php
$temperatura=-5;
$vant=8.5;
echo "La Sinaia sunt ".$temperatura."<sup>o</sup>C iar vantul bate cu ".$vant."m/s";
?>
Sirul (string) este o variabila care contine o combinatie de numere, litere, simboluri si spatii delimitate
intre doua ghilimele simple sau duble. Sirurile pot contine si nume de variabile.
Exemplu:
<?php
$nume="Ivan Paul";
$data="19 iulie 2005";
echo "Solicitarea a fost facuta de domnul ".$nume." pe data de ".$data;
?>
Daca sirul este definit prin ghilimele duble (") PHP-ul interpreteaza mai multe secvente pentru caracterele
speciale:
Secventa Semnificatie
\n rand nou
\r sfarsit de linie
\t tab orizontal
\\ backslash
\$ simbol dolar
\" ghilimele duble
Variabila booleana exprima valoarea de adevar: TRUE sau FALSE. Orice valoare diferita de zero sau sir
care nu este gol (contine cel putin un caracter) sunt considerate ca TRUE.
Matricei (array) i se pot atribui mai multe valori comparativ cu numerele sau sirurile care pot contine
doar o singura valoare. Matricele folosesc chei sau indexi pentru a identifica valorile stocate.
O matrice se creaza folosind functia array():
$matrice = array('apa','aer','foc');
<?php
$matrice = array('ocean','mare','lac');
print_r ($matrice);
?>
Exemplu: utilizam aceeasi matrice dar folosim functia var_dump() care ne arata cate elemente sunt in
matrice si lungimea fiecarei valori a sa
<?php
$matrice = array('ocean','mare','lac');
var_dump ($matrice);
?>
Primul index al unei matrici are valoarea 0. Valorile indexilor pot fi si declarate manual.
<?php
$matrice = array(1=>'calculator',3=>'monitor',5=>'imprimanta');
var_dump ($matrice);
?>
<?php
$it = array(
"monitor" => array("Samsung","LCD","17\""),
"imprimanta" => array("HP","jet de cerneala","A4"),
"router" => array("Linksys","1","4"),
);
echo "Monitorul este produs de ".$it['monitor'][0].", are ecran tip ".$it['monitor'][1]."
si diagonala de ".$it['monitor'][2].".";
echo "<br>";
echo "Imprimanta este produsa de ".$it['imprimanta'][0].", tehnologie ".$it['imprimanta']
[1]." si foloseste hartie ".$it['imprimanta'][2].".";
echo "<br>";
echo "Routerul este produs de ".$it['router'][0].", are ".$it['router'][1]." port WAN si
".$it['router'][2]." porturi LAN".".";
?>
Variabile predefinite
PHP ofera un mare numar de variabile predefinite oricarui script care ruleaza si sunt functie de serverul pe
care functioneaza.
Incepand cu PHP 4.2.0 valoarea default pentru directiva register_globals este off. Aceasta afecteaza setul
de variabile predefinite disponibile in scop global.
De exemplu pentru a obtine DOCUMENT_ROOT vom folosi $_SERVER['DOCUMENT_ROOT'] in loc de
$DOCUMENT_ROOT cum era in cazul in care register_globals erau on.
$GLOBALS contine referinte catre toate variabilele care sunt disponibile in scop global scriptului
$_SERVER variabile furnizate scriptului de catre serverul web
$_GET variabile furnizate scriptului via HTTP GET (provin dintr-un formular in care method="GET")
$_POST variabile furnizate scriptului via HTTP POST (provin dintr-un formular in care
method="POST")
$_COOKIE variabile furnizate scriptului via HTTP cookies
$_ENV variabile furnizate scriptului de catre mediu
In continuare voi prezenta cateva din cele mai des folosite variabile globale.
Scopul variabilelor depinde de contextul in care sunt definite. Majoritatea variabilelor din PHP au un
singur scop. Acesta se aplica si pentru fisierele adaugate prin functiile include() si require().
Exemplu:
<?php
$a=10;
include "exemplu1_9b.php";
?>
Liceul “George Călinescu”, Bucureşti 5
Prof. Costache Maria-Magdalena 2010-2011
/* urmeaza fisierul exemplu1_9b.php */
<?php
echo "Mihai are ".$a." ani";
?>
Orice variabila folosita in interiorul unei functii este limitata doar scopului functiei.
Exemplu: deoarece functia foloseste o variabila declarata in afara ei echo nu va afisa nimic
<?php
$a=10;
function mihai() {
echo "Mihai are ".$a." ani";
}
mihai();
?>
Exemplu: aceeasi functie dar acum declaram variabila de tip global motiv pentru care echo va afisa corect
<?php
$a=10;
function mihai() {
global $a; //declaram variabila $a de tip global
echo "Mihai are ".$a." ani";
}
mihai();
?>
Variabile statice
O alta caracteristica importanta a scopului variabilei este variabila statica care exista doar in scopul
functiei locale dar isi pierde valoarea cand executia scriptului inceteaza.
<?php
function static1() {
$a=0;
echo $a;
$a++;
}
static1();
echo "<br>";
static1();
echo "<br>";
static1();
?>
Exemplu: aceeasi functie dar declaram variabila ca fiind statica. De cate ori functia va fi executata ea va
incrementa valoarea anterioara a variabilei $a
<?php
function static1() {
static $a=0;
echo $a;
$a++;
}
static1();
echo "<br>";
static1();
echo "<br>";
static1();
?>
Exemplu:
<?php
$a="Mihai";
$$a="Ionescu";
echo "$a $Mihai";
?>
<?php
$a=19;
if (is_integer($a)) {
echo '$a este intreg';
} else {
echo '$a nu este intreg';
}
?>
<?php
$a=3.14;
if (is_float($a)) {
echo '$a este numar cu virgula flotanta';
} else {
echo '$a nu este numar cu virgula flotanta';
}
?>
<?php
$a="sir";
if (is_string($a)) {
echo '$a este un sir';
} else {
echo '$a nu este un sir';
}
?>
<?php
$a = array('fructe','legume','carne');
if (is_array($a)) {
echo '$a este o matrice';
} else {
echo '$a nu este o matrice';
}
?>
1. 3. Constante
Caracteristici:
numele este case sensitiv si va incepe obligatoriu cu o litera. Poate contine litere mari sau mici, cifre si
caracterul _ dar fara spatii
este recomandat, dar nu obligatoriu, ca denumirea constantei sa fie scrisa cu majuscule pentru a fi
mai usor identificata de programator
<?php
define('NUME','Popescu');
echo NUME;
?>
Ca si in cazul variabilelor constructia echo poate gazdui mai multe constante si text impreuna.
Exemplu:
<?php
define('NUME','Popescu');
define('PRENUME','Mihai');
echo "Unchiul meu este ".PRENUME." ".NUME."";
?>
1. 4. Operatori
Vom discuta despre operatori aritmetici, de atribuire, de comparatie, logici si multipli
adunare $a+$b
scadere $a-$b
inmultire $a*$b
impartire $a/$b
Exemplu:
<?php
$a=12;
$b=3;
$c=7;
$adunare=$a+$b;
$scadere=$a-$b;
$inmultire=$a*$b;
$impartire=$a/$b;
$modulo=$a%$c;
echo $a."+".$b."=".$adunare."<br>";
$a=7;
$a+=6; //atribuie lui $a valoarea 13, acelasi lucru cu $a=$a+6
$b="Buna ";
$b.="ziua"; // atribuie lui $b valoarea "Buna ziua", acelasi lucru cu $b=$b."ziua";
Verificarea functionarii operatorilor de comparatie si logici se poate face folosind structurile de control care
vor fi prezentate in Capitolul 4.
Operatori multipli
Intr-o constructie PHP pot fi folositi impreuna mai multi operatori.
Exemplu:
<?php
$a=12;
$b=3;
$c=3;
echo $a."+".$b."+".$c."=".($a+$b+$c)."<br>";
echo $a."x".$b."-".$c."=".($a*$b-$c);
?>
Incrementarea se poate realiza adunand o unitate la acel numar (sau variabila) sau putem folosi varianta
prescurtata, si similar pentru decrementare.
<?php
$a=7;
$b=7;
$c=7;
$d=7;
echo "post incrementarea lui 7 este: ".$a++."<br>";
echo "post decrementarea lui 7 este: ".$b--."<br>";
echo "pre incrementarea lui 7 este: ".++$c."<br>";
echo "pre decrementarea lui 7 este: ".--$d;
?>
Numere aleatoare
rand() este functia din PHP care genereaza automat numere aleatoare. Poate primi parametri limita
minima si maxima a numerelor generate.
Exemplu:
<?php
echo "numar generat aleator: ".rand()."<br>";
echo "numar generat aleator din intervalul 1-49: ".rand(1,49);
?>
Functia de rotunjire
round() este functia de rotunjire si poate primi ca parametru numarul de cifre zecimale dupa rotunjire
Exemplu:
<?php
echo "27,54621 rotunjit este: ".round(27.54621)."<br>";
echo "27,54621 rotunjit cu 2 zecimale este: ".round(27.54621,2);
?>
if while require
else for break
elseif foreach continue
switch include return
if (conditie) {
instructiuni executate daca este indeplinita conditia ;
}
Conditia este incadrata de paranteze rotunde iar instructiunea care se executa in cazul in care conditia
este indeplinita intre acolade. Neindeplinirea conditiei face sa se execute ce urmeaza dupa inchiderea
acoladei.
<?php
$a=4;
$b=3;
echo "$a=4<br>";
echo "$b=3<br>";
if ($a>$b) {
echo "$a>$b";
}
?>
else este alta instructiunea conditionala care indica ce se executa in cazul in care conditia mentionata in
instructiunea if nu este indeplinita si are sintaxa:
if (conditie) {
instructiuni executate daca este indeplinita conditia;
} else {
instructiuni executate daca nu este indeplinita conditia;
}
<?php
$a=2;
$b=9;
echo "$a=2<br>";
echo "$b=9<br>";
if ($a>$b) {
echo "$a>$b";
} else {
echo "$a<$b";
}
?>
elseif este o combinatie intre if si else. In cazul in care conditia if nu este indeplinita se introduce elseif
care testeaza inca o conditie. Daca nu este indeplinita a doua conditie se executa declaratia introdusa prin
else.
if (conditia1) {
instructiuni executate daca este indeplinita conditia 1;
} elseif (conditia2) {
instructiuni executate daca este indeplinita conditia 2;
} else {
instructiuni executate daca nu este indeplinita conditia 2;
}
Exemplu:
<?php
$a=19;
$b=23;
if ($a<$b) {
switch este asemanatoare functiei if dar conditia are mai mult de doua valori.
<?php
$ziua=2;
echo $ziua;
echo "<br>";
switch ($ziua) {
case 1:
echo "Luni";
break;
case 2:
echo "Marti";
break;
case 3:
echo "Miercuri";
break;
case 4:
echo "Joi";
break;
case 5:
echo "Vineri";
break;
case 6:
echo "Sambata";
break;
case 7:
echo "Duminica";
break;
}
?>
while este o instructiune de tip bucla. Atat timp cat conditia este adevarata se repeta bucla.
Exemplu:
<?php
$numar=1;
while ($numar<=7) {
echo $numar."<br>";
$numar++;
}
?>
<?php
for ($i=1; $i<=10; $i++) {
echo $i."<br>";
}
?>
foreach este o constructie care functioneaza doar cu matrice generand erori cand sunt folosite variabile
cu tipuri de date diferite sau variabile neinitializate. Sintaxa folosita este:
Exemplu:
<?php
$personal = array(
"Florin" => director,
"Catalin" => inginer,
"Mihai" => economist,
"Sorin" => sofer,
"Diana" => secretara
);
include si require sunt doua functii asemanatoare folosite pentru includerea in paginile php a unor fisiere
externe. Diferenta intre cele doua functii consta in faptul ca daca include da gres scriptul genereaza o
avertizare dar functioneaza in continuare in timp ce la require se termina executarea scriptului.
include "fisier1.php";
require "fisier2.html";
break opreste fortat executia structurilor for, foreach, while, do..while sau switch.
break accepta optional un argument numeric care indica numarul de structuri imbricate a caror
functionare este oprita.
<?php
for ($i=0; ;$i++) {
if ($i>6) {
break;
}
echo $i."<br>";
}
?>
continue sare peste restul din iteratia buclei curente si continua executia la inceputul iteratiei urmatoare
continue accepta optional un argument numeric care indica numarul de bucle care vor fi sarite pana la
sfarsit.
<?php
for ($i=0;$i<8;$i++) {
if ($i==5)
Liceul “George Călinescu”, Bucureşti 13
Prof. Costache Maria-Magdalena 2010-2011
continue;
echo $i."<br>";
} ?>
return
Daca este chemata din interiorul unei functii declaratia return() opreste imediat executia functiei curente
si furnizeaza argumentul ca valoare a functiei.
Daca este chemata in scop global executia scriptului curent se opreste.
Lecţia 3 : Functii
Functia este o secventa de cod ce poate fi utilizata de mai multe ori in interiorul marilor scripturi si este
prezentata in script prin declaratia ei.
Functia chemata (invocata) va contine acelasi numar de argumente ca in declaratie.
function foo($arg_1,$arg_2, $arg_n) {
echo "Exemplu.\n";
return $val
}
unde:
foo este numele functiei
$arg_1, $arg_2, ... , $arg_n sunt argumentele functiei
$val este valoarea returnata de functie
<?php
function adunare($a,$b) {
$suma=$a+$b;
return $suma;
}
$rezultat=adunare(5,16);
echo $rezultat;
?>
<?php
function tabel($lim) {
echo "<table border=\"1\">\n";
for ($i=0; $i<=$lim; $i++) {
echo "<tr><td>randul ".$i."</td></tr>\n";
}
echo "</table>";
}
tabel(9); //tabel cu 10 randuri
?>
Deschiderea fisierelor
Sintaxa functiei fopen() este:
Liceul “George Călinescu”, Bucureşti 14
Prof. Costache Maria-Magdalena 2010-2011
fopen(param1, param2);
param1 = fisierul, calea catre fisier sau adresa fisierului care va fi deschis
param2 = modul in care va fi deschis fisierul, si poate avea valorile:
Citirea fisierelor
Sintaxa functiei fread() este:
$filename="proba.txt";
$handle=fopen($filename, "r");
$contents=fread($handle, filesize($filename));
Scrierea in fisiere
Sintaxa functiei fwrite() este:
is_writable($filename);
Inchiderea fisierului
Sintaxa functiei fclose() este:
fclose($handle);
Exemplu: se verifica dreptul de scriere in fisier. Primul pas este crearea fisierului proba.txt apoi se verifica
exemplul care va returna mesajul Acces interzis scrierii in fisier. Se modifica drepturile asupra fisierului
conform Q5 din FAQ adaugand scrierea. Se verifica iar exemplul care va returna mesajul Acces permis
scrierii in fisier.
<?php
$filename="proba.txt";
if(is_writable($filename)) { //se verifica dreptul de scriere in fisier
echo "Acces permis scrierii in fisier";
} else {
echo "Acces interzis scrierii in fisier";
}
?>
<?php
$filename="proba.txt";
if(is_writable($filename)) { //se verifica dreptul de scriere in fisier
if(!$handle=fopen($filename, 'a')) { //se verifica deschiderea fisierului
echo "Fisierul <b>".$filename."</b> nu poate fi deschis";
exit; //se incheie executia scriptului
}
if(fwrite($handle, date("j-n-Y g:ia")."\r\n")===FALSE) { //testeaza daca se poate scrie
in fisier
die ("Nu se poate scrie in ".$filename.""); //iesire
}
fclose($handle);
$matrice=file($filename); //se citeste continutul fisierului si se stocheaza intr-o
matrice
foreach ($matrice as $cheie =>$valoare) {
echo $valoare."<br>"; //printeaza cate o valoare pe un rand
}
} else {
echo "Acces interzis pentru scriere in fisier";
}
?>
action indica fisierul care prelucreaza datele introduse in formular cand este apasat butonul Trimite
method indica modul in care datele sunt trimise spre prelucrare pe server si poate avea valorile: POST
cand datele trimise nu sunt vizibile utilizatorului si GET cand datele sunt adaugate la adresa URL. Metoda
POST permite trimiterea unei cantitati mai mari de date decat metoda GET.
name este un atribut care identifica datele introduse in fiecare camp al formularului
$_POST["nume"];
<?php
$nume=$_POST["nume"];
if ($nume=="") {
echo "Campul nume nu este completat";
} else {
echo $nume;
}
?>
Exemplu: acelasi formular dar partea de verificare are doua conditii legate prin operatorul OR sau ||
<?php
$nume=$_POST["nume"];
if (($nume=="") || (strlen($nume)<5)) {
echo "Campul nume nu este completat corect";
} else {
echo $nume;
}
?>
Folosind modelele anterioare puteti prelua date si face verificarea pentru toate campurile formularului.
In afara preluarii datelor putem folosi formularul si pentru upload-ul fisierelor pe server dar cu
masurile de precautie necesare pentru a evita eventualele upload-uri de fisiere nedorite pe server.
Pentru upload formularul va contine un camp de tip input cu type="file" iar eticheta form va contine in
plus un argument enctype="multipart/form-data".
Exemplu: formular pentru upload fisiere. Folderul in care se face upload trebuie sa permita operatia de
scriere. Din motive de securitate acest exemplu nu este activ.
5. 2. Functia mail
Folosind functia mail() din PHP pot fi trimise mailuri utilizand urmatoarea sintaxa:
destinatar este adresa unde va fi trimis mailul iar daca este necesar mailul poate fi trimis mai multor
destinatari, situatie in care adresele vor fi separate prin virgula
subiect este informatia care va fi afisata in campul subiect
mesaj este corpul mailului. Fiecare linie va fi separata prin LF (\n) si nu va avea mai mult de 70 de
caractere
header aditional contine informatii optionale, de exemplu: From, Cc, Bcc fiind separate de caracterele
CRLF (\r\n)
Toate mailurile trimise trebuie sa aibe campul From completat. Acest lucru poate fi facut prin adaugarea
acestuia in header aditional sau prin setarea corespunzatoare a adresei in fisierul php.ini din PHP.
Executia functiei mail returneaza TRUE daca mailul a fost acceptat pentru trimitere, altfel FALSE.
Acceptarea mailului pentru trimitere nu inseamna obligatoriu si ca a fost trimis.
$to="proba@test.ro";
$subiect="functia mail";
$mesaj="Mail trimis cu functia mail din PHP";
mail($to, $subiect, $mesaj);
Exemplu: trimiterea unui mail la care adaugam header aditional cu campurile From, Cc, Bcc. Pentru ca
mailul sa poata contine etichete HTML trebuie adaugat Content-type. S-au folosit caracterele speciale \r\n
pentru afisarea fiecarei informatii pe un nou rand
Lecţia 6 : Exemple
md5 este o metoda de criptare folosind un algoritm special care furnizeaza ca rezultat un numar
hexazecimal de 32 caractere
date returneaza un sir functie de parametri ceruti conform tabelului de mai jos
<?php
echo date("d-m-Y g:i A");
Liceul “George Călinescu”, Bucureşti 19
Prof. Costache Maria-Magdalena 2010-2011
echo"<br>";
echo date("j-F-Y H:i" );
echo"<br>";
echo date("l-M-Y");
?>
<?php
$sir="Another brick in the wall";
echo strlen($sir);
?>
Exemplu: se elimina succesiv spatiile libere din sir " 234 " folosind ltrim() si apoi rtrim()
<?php
$a=" 234 ";
echo $a."<br>";
echo strlen($a);
$b=ltrim($a);
echo "<br>".$b."<br>";
echo strlen($b);
$c=rtrim($b);
echo "<br>".$c."<br>";
echo strlen($c);
?>
<?php
$a="Star Wars Episode III";
echo strtolower($a);
echo "<br>";
$b="atentie inalta tensiune";
echo strtoupper($b);
?>
<?php
$a=array(apa, aer, foc);
$b=array(fructe, legume, carne);
print_r(array_merge($a,$b));
?>
Exemplu:
<?php
$a=array(fructe, legume, carne, lactate);
Pentru a insera in paginile web o imagine creata cu functiile din php folositi eticheta img
In urmatorul exemplu vom genera o imagine in format JPEG, cu dimensiunile 200px x 100px, fond verde.
<?php
header ("Content-type: image/jpeg");
$img = ImageCreate (200,100);
$fond = ImageColorAllocate ($img,0,200,0);
ImageJPEG ($img, '', 100);
?>
<?php
header ("Content-type: image/jpeg");
$img = ImageCreate (200,100);
$fond = ImageColorAllocate ($img,0,200,0);
$text = ImageColorAllocate ($img,255,255,255);
ImageString ($img,5,10,10,"Proba text",$text);
ImageJPEG ($img, '', 100);
?>
Cream o linie din punctul (10,90) in punctul (190,90). Referinta coordonatelor este coltul stanga sus.
<?php
header ("Content-type: image/jpeg");
$img = ImageCreate (200,100);
$fond = ImageColorAllocate ($img,0,200,0);
$col = ImageColorAllocate ($img,255,255,255);
ImageLine ($img,10,90,190,90,$col);
ImageJPEG ($img, '', 100);
?>
<?php
header ("Content-type: image/jpeg");
$img = ImageCreate (200,100);
$fond = ImageColorAllocate ($img,0,200,0);
$col = ImageColorAllocate ($img,255,255,255);
ImageLine ($img,10,90,190,90,$col);
ImageLine ($img,10,90,100,10,$col);
ImageLine ($img,100,10,190,90,$col);
ImageJPEG ($img, '', 100);
?>
Cream o elipsa in centrul imaginii (100,50), avand latimea 180 si inaltimea 80.
<?php
header ("Content-type: image/jpeg");
$img = ImageCreate (200,100);
$fond = ImageColorAllocate ($img,0,200,0);
$col = ImageColorAllocate ($img,255,255,255);
ImageEllipse ($img,100,50,180,80,$col);
ImageJPEG ($img, '', 100);
?>
Cream un trapez.
<?php
header ("Content-type: image/jpeg");
$img = ImageCreate (200,100);
$fond = ImageColorAllocate ($img,0,200,0);
$col = ImageColorAllocate ($img,255,255,255);
ImagePolygon
($img,array(60,10,140,10,190,90,10,90),4,$col);
ImageJPEG ($img, '', 100);
?>
ImagePolygon contine o matrice (care indica coordonatele pentru fiecare colt in parte) si numarul de
colturi
Vom genera o imagine care va avea ca fundal un fisier JPG (fond.jpg), peste care aplicam textul "Text
proba", de culoarea neagra (0,0,0), folosind fontul "verdana.ttf", marime 18. Textul va fi amplasat, fata
de coltul stanga sus, la 30px pe orizontala si 40px pe verticala, si va avea o inclinare de 10 grade.
Calitatea imaginii generate va fi "best quality" (100).
<?php
header("Content-Type: image/jpeg");
$im = ImageCreateFromJpeg("fond.jpg");
$text="Text proba";
$black = ImageColorAllocate($im, 0, 0, 0);
$start_x = 30;
$start_y = 60;
Imagettftext($im, 18, 10, $start_x, $start_y, $black,
'verdana.ttf', $text);
Imagejpeg($im, '', 100);
ImageDestroy($im);
?>
mysql_close();
echo "<b><center>Database Output</center></b><br><br>";
$i=0;
while ($i < $num) {
$nume=mysql_result($rezultat,$i,"nume");
$prenume=mysql_result($result,$i,"prenume");
$telefon=mysql_result($result,$i,"telefon");
$mobil=mysql_result($result,$i,"mobil");
$fax=mysql_result($result,$i,"fax");
$email=mysql_result($result,$i,"email");
$web=mysql_result($result,$i,"web");
echo "<b>$nume $prenume</b><br>Telefon: $telefon<br>Mobil: $mobil<br>Fax: $fax<br>E-mail:
$email<br>Web: $web<br><hr><br>";
Liceul “George Călinescu”, Bucureşti 30
Prof. Costache Maria-Magdalena 2010-2011
++$i;
}
?>
$i=0;
while ($i < $num) {
$id=mysql_result($rezultat,$i,"id");
$query1="UPDATE contacts SET web='http://www.serban.ro' WHERE id='$id'";
mysql_query($query);
++$i;
}
mysql_close();