Curs Php-mysql


Pe langa crearea de cod de tip text (HTML, XML, ...), PHP poate fi folosit si pentru crearea si manipularea de imagini cu diferite formate (GIF, PNG, JPEG, WBMP si XPM).
PHP are implemetat cateva functii pentru lucru cu informatii legate de imagini, cum ar fi lungimea, latimea sau extensia imaginii. Pentru crearea de noi imagini sau manipularea celor existente este necesar sa aveti instalat in PHP o librarii GD cu functii pentru imagini. Pentru mai multe informatii despre cerinte si instalare librarie GD, vizitati GD library.
- Daca folositi WampServer sau Xampp, acestea au deja incluse librarii GD.
Puteti afla informatii despre libraria GD instalata folosind functia gd_info(), aceasta returneaza o matrice cu informatii despre libraria GD inclusa.

Exemplu:
<?php
var_dump(gd_info());
?>

1. Crearea imaginilor

Pentru crearea unei imagini cu PHP sunt esentiali urmatorii pasi:

Cam asta e, pe scurt, partea teoretica, acum sa trecem la practica, voi prezenta pas cu pas un script PHP simplu care va afisa in browser o imagine PNG formata dintr-un dreptunghi cu fundal albastru si in interior un text.
Scriptul este urmatorul:
<?php
$text = 'Textul din imagine';

// setare dimensiuni suprafetei de baza
$height = 40;
$width = 170;
// definirea imaginii
$im = imagecreate($width, $height);

// setare culori
$fundal = imagecolorallocate($im, 10, 10, 250);
$text_color = imagecolorallocate($im, 255, 255, 255);

// finalizarea imaginii
imagefill($im, 0, 0, $fundal);
imagestring($im, 4, 10, 15, $text, $text_color);

// trimiterea datelor de iesire
header('Content-type: image/png');
imagepng($im);

// curatarea memoriei
imagedestroy($im);
?>
- Acest script va afisa urmatorul rezultat
Exemplu imagine cu PHP
Sa studiem acest script
        - Pentru inceput am setat variabila "$text" ce contine textul care va fi adaugat in imagine, si variabilele "$height" si "$width" care reprezinta dimensiunile imaginii.
        - In continuare avem "$im = imagecreate($width, $height)", functia imagecreate() returneaza un identificator de imagine ce creaza suprafata de baza a imaginii, prelund ca argumente dimensiunile acesteia (in pixeli).         - Urmatorul pas este definirea culorii pentru fundal si pentru text, pentru aceasta se foloseste functia imagecolorallocate(), aceasta returneaza un identificator de culoare care va fi folosit pentru accesarea culorii si preia 4 argumente: primul argument este identificatorul de imagine creat cu "imagecreate()" (in script este in variabila "$im"), urmatoarele trei argumente reprezinta valorile RGB (Red, Green, Blue) pentru stabilirea culorii.
        - Pentru adaugarea culorii de fundal se foloseste functia imagefill(), care preia 4 argumente (in script avem "imagefill($im, 0, 0, $fundal);"), argumentele sunt:         - Pentru adaugarea textului in cadrul imaginii se foloseste functia imagestring(), aceasta preia 6 argumente:         - Urmatotul pas este trimiterea datelor de iesire pentru afisarea in browser.         - In final s-a folosit functia imagedestroy() (care foloseste ca argument identificatorul de imagine) pentru eliberarea resurselor de memorie folosite la crearea imaginii.

2. Utilizarea imaginilor create cu PHP

Deoarece un header poate fi trimis numai o data pentru o pagina, si asta este singura cale de a spune browser-ului ca sunt trimise date de imagine, poate deveni mai dificil cand se doreste crearea si afisarea mai multor imagini cu PHP.
In acest caz:

a) Puteti folosi scriptul pentru a salva imaginea pe server (dupa cum a fost explicat mai sus) si apoi folositi etichete <img> pentru afisarea imaginii
- Exemplu:

<?php
$text = 'Textul din imagine';

// setare dimensiuni
$height = 50;
$width = 170;
$im = imagecreate($width, $height);

// setare culori
$fundal = imagecolorallocate($im, 10, 10, 250);
$text_color = imagecolorallocate($im, 255, 255, 255);

// finalizarea imaginii
imagestring($im, 4, 10, 15, $text, $text_color);

// salvarea imaginii pe server
imagepng($im, "img.png");

// curatarea memoriei
imagedestroy($im);
?>

<img src="img.png" alt="Afisare 1" />
--- <img src="img.png" alt="Afisare 2" />
- Acest script va afisa urmatorul rezultat
Afisare 1 --- Afisare 2

b) O alta metoda este scrierea intr-un fisier php extern a scriptului care genereaza si afiseaza imaginea, apoi apelati scriptul PHP in atributul src, ca in exemplul urmator:
<img src="script_img.php" alt="Afisare 1" />
--- <img src="script_img.php" alt="Afisare 2" />
- Unde "script_img.php" este fisierul PHP care genereaza si afiseaza imaginea

- In urmatoarea lectie, Functii pentru lucrul cu imagini, sunt prezentate mai multe functii utile in lucrul cu imagini generate de PHP.

Un Test simplu in fiecare zi

HTML
CSS
JavaScript
PHP-MySQL
Engleza
Spaniola
Ce tag adauga imagine in pagina web?
<div> <img> <span>
<img src="http://coursesweb.net/imgs/webcourses.gif" width="191" height="63" alt="Courses-Web" />
Care din aceste coduri CSS afiseaza textul inclinat?
font-style: italic; text-decoration: underline; font-weight: 500;
#id {
  font-style: italic;
}
Clic pe functia jQuery care ascunde animat un element HTML.
click() hide() show()
$(document).ready(function() {
  $(".a_class").click(function(){ $(this).hide("slow"); });
});
Clic pe functia definita corect in PHP.
fname function() {} function fname() {} function $fname() {};
function fname($a, $b) {
  echo $a * $b;
}
Indicati forma pentru Prezent Perfect Continuu a verbului "to walk" (a merge).
have walked have been walking be walking
I have been walking for 5 hours.
- Merg pe jos de 5 ore.
Indicati Trecutul Nedefinit pentru verbul "ser" (a fi) la forma Yo.
será sería fui
Yo fui entrenador.
- Am fost antrenor.
Creare imagini cu PHP

Last accessed pages

  1. Accentul si Pronuntia (27427)
  2. Proverbe, expresii si zicatori (23261)
  3. Liste HTML - UL, OL (10635)
  4. Verbe reflexive 1 (10796)
  5. Functii predefinite si Coduri PHP (3074)

Popular pages this month

  1. Cursuri si Tutoriale: Engleza, Spaniola, HTML, CSS, Php-Mysql, JavaScript, Ajax (1358)
  2. Exercitii engleza - English Tests and exercises - Grammar (1085)
  3. Prezentul simplu si continuu - Present Tense Simple and Continuous (1079)
  4. Gramatica limbii engleze - Prezentare Generala (1030)
  5. Prezentul simplu - Exercitii si teste incepatori (887)