You are on page 1of 6

tutorial4free

PHP Tutorijal : Pravljenje thumbail-ova pomou php-a


Autor : Nino Rajai
U ovom tutorijalu ete nauiti kako da uz pomo php napraviti male slike takozvane
thumbail-ove.
Korak 1.
Za potrebe ovog tutorijala, moete koristiti bilo koji KOD editor, ali u ja zbog
rasprostranjenosti koristiti Adobe Dreamweaver.

Korak 2.
U Dreamweaveru odaberite tip stranice PHP. Obriite 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); //razlanjujemo ime slike pomocu
funkcije explode
//proveravamo koji je format
if (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);
//raunamo 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-a
if (preg_match("/png/",$system[sizeof($system)-1])) {
imagepng($dst_img,$ime_thumba); }
else {
imagejpeg($dst_img,$ime_thumba);
}
//unitavamo slike zbog memorije
imagedestroy($dst_img);
imagedestroy($src_img);
}
?>

Evo kako kod izgleda u editoru:

Korak 4.
Kada zavrite sa unoenjem snimite kod kao napravi_thumb.php.

Korak 5.
Poto smo zavrili 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.
<?
//ukljuujemo sadrzaj fajla napravi_thumb.php
include 'napravi_thumb.php';
//proveravamo da li je korisnik pritisnuo dugme dodaj
if(!$_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 nae slike
$upload=$upload.'/'.$name;
//ako funkcija nije prosla ispisujemo poruku
if(!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 uspeno 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 lake razumljivosti nisam pravio nikakvu
proveru unosa sadraja na server.

You might also like