Forum Sveta kompjutera

Nazad   Forum Sveta kompjutera > Internet > Web razvoj > Serverske aplikacije i baze podataka
Uputstvo Članstvo Kalendar Današnje poruke Pretraži

Serverske aplikacije i baze podataka PHP, Perl, ASP, ASP .NET, ColdFusion...
MySQL, PostgreSQL, MSQL, Oracle...

Odgovor
 
Alatke vezane za temu Vrste prikaza
Stara 2.1.2011, 18:21   #1
vladakg
Član
 
Član od: 4.4.2008.
Lokacija: Kragujevac
Poruke: 233
Zahvalnice: 8
Zahvaljeno 3 puta na 3 poruka
Question Upload, resize, rename image pomocu PHP

Zamisao mi je da se na stranici galerija na sajtu u jednoj listi izlistaju male slicice a da klikom na sliku se pokaze veca slika. Skinuo sam jednu skripticu pomocu koje pravim resize slika koje upload-ujem na sajt. Sad bih hteo da je jos malo prepravim i da pomocu nje pravim i thumbnail-ove. Znaci hteo bih ako je moguce da upload-ujem jednu sliku, a da mi automatski ta slika promeni velicinu,tj. da dobije rezoluciju koju ja zelim, i da se napravi i njena kopija sa jos manjom rezolucijom koju bi ja odredio i da ime te male slicice dobije prefiks thumb_ . Skripta je sledeca:

if ((isset($_POST["submitted_form"])) && ($_POST["submitted_form"] == "image_upload_form")) {

// file needs to be jpg,gif,bmp,x-png and 6 MB max
if (($_FILES["slika1"]["type"] == "image/jpeg" || $_FILES["slika1"]["type"] == "image/pjpeg" || $_FILES["slika1"]["type"] == "image/gif" || $_FILES["slika1"]["type"] == "image/x-png") && ($_FILES["slika1"]["size"] < 6000000))
{


// some settings
$max_upload_width = 4256;
$max_upload_height = 2832;

// if user chosed properly then scale down the image according to user preferances
if(isset($_REQUEST['max_width_box']) and $_REQUEST['max_width_box']!='' and $_REQUEST['max_width_box']<=$max_upload_width){
$max_upload_width = $_REQUEST['max_width_box'];
}
if(isset($_REQUEST['max_height_box']) and $_REQUEST['max_height_box']!='' and $_REQUEST['max_height_box']<=$max_upload_height){
$max_upload_height = $_REQUEST['max_height_box'];
}


// if uploaded image was JPG/JPEG
if($_FILES["slika1"]["type"] == "image/jpeg" || $_FILES["slika1"]["type"] == "image/pjpeg"){
$image_source = imagecreatefromjpeg($_FILES["slika1"]["tmp_name"]);
}
// if uploaded image was GIF
if($_FILES["slika1"]["type"] == "image/gif"){
$image_source = imagecreatefromgif($_FILES["slika1"]["tmp_name"]);
}
// BMP doesn't seem to be supported so remove it form above image type test (reject bmps)
// if uploaded image was BMP
if($_FILES["slika1"]["type"] == "image/bmp"){
$image_source = imagecreatefromwbmp($_FILES["slika1"]["tmp_name"]);
}
// if uploaded image was PNG
if($_FILES["slika1"]["type"] == "image/x-png"){
$image_source = imagecreatefrompng($_FILES["slika1"]["tmp_name"]);
}

// lokacija slika
$remote_file = "images/".$_FILES["slika1"]["name"];
imagejpeg($image_source,$remote_file,100);
chmod($remote_file,0644);



// get width and height of original image
list($image_width, $image_height) = getimagesize($remote_file);

if($image_width>$max_upload_width || $image_height >$max_upload_height){
$proportions = $image_width/$image_height;

if($image_width>$image_height){
$new_width = $max_upload_width;
$new_height = round($max_upload_width/$proportions);
}
else{
$new_height = $max_upload_height;
$new_width = round($max_upload_height*$proportions);
}


$new_image = imagecreatetruecolor($new_width , $new_height);
$image_source = imagecreatefromjpeg($remote_file);

imagecopyresampled($new_image, $image_source, 0, 0, 0, 0, $new_width, $new_height, $image_width, $image_height);
imagejpeg($new_image,$remote_file,100);

imagedestroy($new_image);
}

imagedestroy($image_source);

}
}

Pomocu nje dobijem rezoluciju slike koju zelim, e sad kako da mi napravi i kopiju slike sa nekom drugom rezolucijom i da doda imenu slike "thumb_" ?
vladakg je offline   Odgovor sa citatom ove poruke
Stara 3.1.2011, 17:45   #2
VojaM
Ad Ministrator
 
Avatar korisnika VojaM
 
Član od: 19.8.2005.
Lokacija: Beograd, SK
Poruke: 7.280
Zahvalnice: 29
Zahvaljeno 3.041 puta na 1.544 poruka
Određen forumom Re: Upload, resize, rename image pomocu PHP

E, to ćeš morati ti.
VojaM je offline   Odgovor sa citatom ove poruke
Sledeći korisnik se zahvaljuje korisniku VojaM na korisnoj poruci:
vladakg (3.1.2011)
Stara 3.1.2011, 20:10   #3
vladakg
Član
 
Član od: 4.4.2008.
Lokacija: Kragujevac
Poruke: 233
Zahvalnice: 8
Zahvaljeno 3 puta na 3 poruka
Određen forumom Re: Upload, resize, rename image pomocu PHP

Resenje problema

<?php // if an image is uploaded
if(isset($_POST['submit']))
{
// the thumbnail height
$size = 150;
$brand = 600;

// the directory where the original uploaded image is saved
$filedir = 'images/';
// the directory where the thumbnail image is saved
$thumbdir = 'images2/';
// the prefix to be added to the original name to name the thumbnail
$prefix = 'thumb_';

// the file settings for the uploaded image
$mode = '0666';

$userfile_name = $_FILES['image']['name'];
$userfile_tmp = $_FILES['image']['tmp_name'];
$userfile_size = $_FILES['image']['size'];
$userfile_type = $_FILES['image']['type'];

if(isset($_FILES['image']['name']))
{
$prod_img = $filedir.$userfile_name;
move_uploaded_file($userfile_tmp, $prod_img);
chmod($prod_img, octdec($mode));

$sizes = getimagesize($prod_img);

$aspect_ratio = $sizes[1]/$sizes[0];

if ($sizes[1] <= $brand)
{
$new_w = $sizes[0];
$new_h = $sizes[1];
}else{
$new_h = $brand;
$new_w = abs($new_h/$aspect_ratio);
}

$destimg=imagecreatetruecolor($new_w,$new_h)
or die('Problem In Creating image');
$srcimg=imagecreatefromjpeg($prod_img)
or die('Problem In opening Source Image');
imagecopyresized($destimg,$srcimg,0,0,0,0,$new_w,$ new_h,imagesx($srcimg),imagesy($srcimg))
or die('Problem In resizing');
imagejpeg($destimg,$prod_img,90)
or die('Problem In saving');
imagedestroy($destimg);





$prod_img_thumb = $thumbdir.$prefix.$userfile_name;
move_uploaded_file($userfile_tmp, $prod_img);
chmod($prod_img, octdec($mode));

$sizes = getimagesize($prod_img);

$aspect_ratio = $sizes[1]/$sizes[0];

if ($sizes[1] <= $size)
{
$new_w = $sizes[0];
$new_h = $sizes[1];
}else{
$new_h = $size;
$new_w = abs($new_h/$aspect_ratio);
}

$destimg=imagecreatetruecolor($new_w,$new_h)
or die('Problem In Creating image');
$srcimg=imagecreatefromjpeg($prod_img)
or die('Problem In opening Source Image');
imagecopyresized($destimg,$srcimg,0,0,0,0,$new_w,$ new_h,imagesx($srcimg),imagesy($srcimg))
or die('Problem In resizing');
imagejpeg($destimg,$prod_img_thumb,90)
or die('Problem In saving');
imagedestroy($destimg);

}

echo '
<a href="'.$prod_img.'">
<img src="'.$prod_img_thumb.'" width="'.$new_w.'" heigt="'.$new_h.'" alt="" />
</a>';

// show an upload form to upload and resize an image
}else{

echo '
<form method="post" action="'.$_SERVER['PHP_SELF'].'" enctype="multipart/form-data">
<input type="file" name="image" />
<input type="submit" name="submit" value="upload and resize image" />
</form>';
}

?>
vladakg je offline   Odgovor sa citatom ove poruke
Odgovor

Bookmarks sajtovi


Vaš status
Ne možete postavljati teme
Ne možete odgovarati na poruke
Ne možete slati priloge uz poruke
Ne možete prepravljati svoje poruke

BB kod: uključeno
Smajliji: uključeno
[IMG] kod: uključeno
HTML kod: isključeno


Slične teme
tema temu započeo forum Odgovora Poslednja poruka
Upload image PHP i Mysql nepoverljiv Serverske aplikacije i baze podataka 3 28.1.2010 11:16
Zip fajl upload i estrakt php skripta mrakodol Serverske aplikacije i baze podataka 2 2.7.2009 8:41


Sva vremena su po Griniču +2 h. Sada je 2:26.


Powered by vBulletin® verzija 3.8.7
Copyright ©2000–2024, vBulletin Solutions, Inc.
Hosted by Beograd.com