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 se foloseste pentru a adauga liste in elemente <ul> si <ol>?
<dt> <dd> <li>
<ul>
 <li>http://coursesweb.net/html/</li>
 <li>http://www.marplo.net/html/</li>
</ul>
Care valoare a proprietatii "display" seteaza elementul ca tip bloc si afiseaza un punct in fata?
block list-item inline-block
.some_class {
  display: list-item;
}
Care instructiune JavaScript transforma un obiect in sir JSON.
JSON.parse() JSON.stringify eval()
var obj = {
 "courses": ["php", "javascript", "ajax"]
};
var jsonstr = JSON.stringify(obj);
alert(jsonstr);    // {"courses":["php","javascript","ajax"]}
Indicati clasa PHP folosita pentru a lucra cu elemente HTML si XML in PHP.
stdClass PDO DOMDocument
$strhtml = '<body><div id="dv1">CoursesWeb.net</div></body>';
$dochtml = new DOMDocument();
$dochtml->loadHTML($strhtml);
$elm = $dochtml->getElementById("dv1");
echo $elm->nodeValue;    // CoursesWeb.net
Indicati forma de Prezent Continuu a verbului "to live" (a trai /a locui)
lived living liveing
I`m living here.
- Traiesc /Locuiesc aici.
Care este forma de Gerunziu (sau Participiu Prezent) a verbului "vivir" (a trai /a locui)?
viviĆ³ vivido viviendo
Estoy viviendo aquĆ­.
- Traiesc /Locuiesc aici.
Creare imagini cu PHP

Last accessed pages

  1. Citeste date din fisier Excel in PHP - PhpExcelReader (671)
  2. Trecutul simplu si continuu - Past Tense Simple and Continuous (81325)
  3. Gramatica limbii engleze - Prezentare Generala (214822)
  4. Viitorul perfect - Exercitii incepatori (3855)
  5. Exercitii engleza - English Tests and exercises - Grammar (113658)

Popular pages this month

  1. Cursuri si Tutoriale: Engleza, Spaniola, HTML, CSS, Php-Mysql, JavaScript, Ajax (957)
  2. Gramatica limbii engleze - Prezentare Generala (623)
  3. Exercitii engleza - English Tests and exercises - Grammar (555)
  4. Prezentul simplu si continuu - Present Tense Simple and Continuous (451)
  5. Coduri pt culori (362)