php tutorijal - pravljenje thumbail-ova pomoću php-a
DESCRIPTION
Pravljenje Thumbail-ova pomocu php o cuvanje u bazi podatakaTRANSCRIPT
tutorial4free
PHP Tutorijal : Pravljenje thumbail-ova pomoću php-aAutor : Nino Rajačić
U ovom tutorijalu ćete naučiti kako da uz pomoć php napraviti male slike takozvane thumbail-ove.
Korak 1.Za potrebe ovog tutorijala, možete koristiti bilo koji KOD editor, ali ću ja zbog rasprostranjenosti koristiti Adobe Dreamweaver.
Korak 2.
U Dreamweaveru odaberite tip stranice PHP. Obrišite sav kod koji se po defaultu nalazi na stranici.
Korak 3.U ovom koraku, prvo ćemo napraviti funkciju napravi_thumb, koja dobija četiri argumenta (putanju slike, mesto gde snimamo thumb, njegove dimenzije).
<?function napravi_thumb($ime_slike,$ime_thumba,$nova_sirina,$nova_visina) {
$system=explode(".",$ime_slike); //razčlanjujemo ime slike pomocu funkcije explode//proveravamo koji je formatif (preg_match("/jpg|jpeg/",$system[sizeof($system)-1])){$src_img=imagecreatefromjpeg($ime_slike);} if (preg_match("/png/",$system[sizeof($system)-1])){$src_img=imagecreatefrompng($ime_slike);} //uzimamo originalne dimenzije slike $staro_x=imageSX($src_img); $staro_y=imageSY($src_img); //računamo dimenzije da bi sacuvali pravilni 'aspect ratio' slike if ($staro_x > $staro_y) {
$sirina_thumba=$nova_sirina; $visina_thumba=$staro_y*($nova_visina/$staro_x); } if ($staro_x < $staro_y) { $sirina_thumba=$staro_x*($nova_sirina/$staro_y); $visina_thumba=$nova_visina; } if ($staro_x == $staro_y) { $sirina_thumba=$nova_sirina; $visina_thumba=$nova_visina; } //pravimo thumb $dst_img=ImageCreateTrueColor($sirina_thumba,$visina_thumba); //smanjujemo sliku pomocu funkcije imagecopyresampled imagecopyresampled($dst_img, $src_img, 0, 0, 0, 0, $sirina_thumba ,$visina_thumba, $staro_x, $staro_y); //odredjujemo ekstenziju thumbail-aif (preg_match("/png/",$system[sizeof($system)-1])) { imagepng($dst_img,$ime_thumba); } else { imagejpeg($dst_img,$ime_thumba); } //uništavamo slike zbog memorije imagedestroy($dst_img); imagedestroy($src_img); }?>
Evo kako kod izgleda u editoru:
Korak 4.Kada završite sa unošenjem snimite kod kao napravi_thumb.php.
Korak 5.
Pošto smo završili sa glavnim kodom, koji će da nam napraviti thumbail-ove, sada prelazimo na kod koji ce pozivati datu funkciju.
Korak 6.
Sada ćemo proveriti da li je da li korisnik pritisnu dugme dodaj, i inkludovacemo u nas fajl napravi_thumb.php.
<?
//uključujemo sadrzaj fajla napravi_thumb.phpinclude 'napravi_thumb.php';
//proveravamo da li je korisnik pritisnuo dugme dodajif(!$_POST['dodaj']) //ako nije prikazujemo formular
{ ?>
Evo kako ti izgleda u editoru:
Korak 7.
Pravimo formular. Kod formulara smestite odmah ispod koda koji ste nalepili u koraku 6.
<html><head><title>Dodavanje slika</title></head><body><table border="1" align="center"><form enctype="multipart/form-data" method="post" action=""><tr><td>Unesite sliku:</td><td><input type="file" name="file" /></td></tr><tr><td colspan="2" align="center"><input type="submit" name="dodaj" value="Dodaj" /></td></tr></form></table>
</body></html>
Uz pomoc ovog koda trebali bi ste da dobijete formu nalik ovoj:
Korak 8.
Sada ubacujemo sliku, pravimo thumb. I ovaj kod nalepite odmah ispod koda iz koraka 7.
<?}else{ //uzimamo ime fajla $name=$_FILES['file']['name']; //dajemo ime datoteci gde ćemo da čuvamo slike$upload='slike'; //ako datoteka ne postoji, pravimo je pomocu funkcije mkdir if(!is_dir($upload)) @mkdir($upload); //dajemo putanju naše slike$upload=$upload.'/'.$name; //ako funkcija nije prosla ispisujemo porukuif(!move_uploaded_file($_FILES['file']['tmp_name'],$upload)){ echo "Doslo je do problema pri smestanju slike!<br>"; echo "<a href='thumbail.php'>Pokusajte ponovo.</a>"; exit; } //ako smo uspešno smestili sliku sada treba da napravimo thumbail $thumbs='slike'; //pravimo putanju za thumbail $thumbs=$thumbs. '/thumbs'; //ako datoteka ne postoji, pravimo je pomocu funkcije mkdir if(!is_dir($thumbs)) @mkdir($thumbs); $thumbs=$thumbs.'/'.$name; //pozivamo funkciju napravi_thumb sa datim parametrima napravi_thumb($upload,$thumbs,150,150); echo "Thumbail je uspesno napravljen"; }?>
U editoru kod izgleda ovako:
Korak 9.
Ovaj fajl snimite kao thumbail.php. Potrebno je da ovaj php fajl i onaj drugi budu u istom folderu na serveru!
Napomena: Zbog jednostavnosti koda i lakše razumljivosti nisam pravio nikakvu proveru unosa sadržaja na server.