20. september 2005 - 20:39Der er
5 kommentarer og 1 løsning
Resize billede ved upload
Jeg skal så siden ikke er så lang tid om at loade få det gjort sådan at når man uploader billeder i ens billede galleri i mit community skal den gemme det originale billede, men også et billede i en thumb mappe, eks original: images/galleri/img. Og thumb: images/galleri/thumb.
Den skal resize det til max 100 i brede og max 100 i højde og gemme det.
Her er koden jeg bruger nu :
if ($_FILES["picture"]) { $picture_size = $_FILES["picture"]["size"];
mysql_query("INSERT INTO galleri (user_id, kategori, overskrift, date, besked, vis) values ('".$rst["id"]."', '".$_POST["kategori"]."', '".htmlspecialchars($_POST["overskrift"])."', '".date("Y-m-j H:i:s")."', '".htmlspecialchars($_POST["besked"])."', '".$_POST["vis"]."')") or die (mysql_error());
$conn = mysql_query("SELECT id FROM galleri WHERE date = '".date("Y-m-j H:i:s")."' AND user_id = '".$rst["id"]."'") or die (mysql_error()); $rs = mysql_fetch_array($conn);
if ($_FILES["picture"]) { $picture = $_FILES["picture"]["tmp_name"]; $picture_name = $_FILES["picture"]["name"];
if (eregi("(\.jpg)$", $picture_name)) { copy($picture, "images/galleri/$rs[id].jpg");
mysql_query("UPDATE galleri SET bnavn = '$rs[id].jpg' WHERE id = '".$rs["id"]."'") or die (mysql_error());
} elseif (eregi("(\.gif)$", $picture_name)) { copy($picture, "images/galleri/$rs[id].gif"); mysql_query("UPDATE galleri SET bnavn = '$rs[id].gif' WHERE id = '".$rs["id"]."'") or die (mysql_error()); } }
Her er mit: <? if(isset($_POST['Submit'])) { $size = 175; // the thumbnail height $filedir = '../site_files/gfx/upload/'; // the directory for the original image $thumbdir = '../site_files/gfx/upload/thumb/'; // the directory for the thumbnail image $prefix = 'small_'; // the prefix to be added to the original name $maxfile = '1000000'; $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; $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_width = $sizes[0]; $new_height = $sizes[1]; }else{ $new_height = $size; $new_width = abs($new_height/$aspect_ratio); } $destimg=ImageCreateTrueColor($new_width,$new_height) 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_width,$new_height,ImageSX($srcimg),ImageSY($srcimg)) or die('Problem In resizing'); ImageJPEG($destimg,$prod_img_thumb,90) or die('Problem In saving'); imagedestroy($destimg);
$date = date("d-m"); $time = date("H:i");
//henter mysql info include("../dbconnect.php"); $addlink =MYSQL_QUERY("INSERT INTO userpicupload (id_pic,prod_img,prod_img_thumb,new_width,new_height,date,time)". "VALUES ('NULL', '$prod_img', '$prod_img_thumb', '$new_width', '$new_height', '$date', '$time')");
Og her er table strukturen til mysql: CREATE TABLE `userpicupload` ( `id_pic` tinyint(4) NOT NULL auto_increment, `prod_img` text NOT NULL, `prod_img_thumb` text NOT NULL, `new_width` text NOT NULL, `new_height` text NOT NULL, `kategori` varchar(40) NOT NULL default '', `date` varchar(6) NOT NULL default '', `time` varchar(6) NOT NULL default '', PRIMARY KEY (`id_pic`) )
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.