kelly3330 Posted October 21, 2008 Share Posted October 21, 2008 Hello i am quite new with php, and i have designed a small content management system, it uploads images but in a very large scale. I have tried lots of different ways to implement thumbnail script into my code but im getting no where. I have just found this very small function script that makes my images into thumbnails, well its supposed to but im not having any luck. If someone could help me or at least point me in the right direction of getting this working i would extremely appreciate it. here is my code. Start.php <form enctype="multipart/form-data" action="add.php" method="POST"> Name: <input type="text" name="name"><br> Description: <input type="text" name="description"><br> Price: <input type="text" name="price"><br> Photo: <input type="file" name="photo"> <br> <input type="submit" value="add"> </form> // Connects to the Database mysql_connect("localhost", "root", "") or die(mysql_error()) ; mysql_select_db("cars") or die(mysql_error()) ; //Retrieves data from MySQL $data = mysql_query("SELECT * FROM cars") or die(mysql_error()); //Puts it into an array while($info = mysql_fetch_array( $data )) { //Outputs the image and other data Echo "<img src=images/".$info['photo'] ."> <br>"; Echo "<b>Name:</b> ".$info['name'] . "<br> "; Echo "<b>Description:</b> ".$info['description'] . " <br>"; Echo "<b>Price:</b> ".$info['price'] . " <hr>"; } //This is the directory where images will be saved $target = "images/"; $target = $target . basename( $_FILES['photo']['name']); //This gets all the other information from the form $name=$_POST['name']; $description=$_POST['description']; $price=$_POST['price']; $pic=($_FILES['photo']['name']); // Connects to your Database mysql_connect("localhost", "root", "") or die(mysql_error()) ; mysql_select_db("cars") or die(mysql_error()) ; //Writes the information to the database mysql_query("INSERT INTO cars VALUES ('$name', '$description', '$price', '$pic')") ; //Writes the photo to the server if(move_uploaded_file($_FILES['photo']['tmp_name'], $target)) { //Tells you if its all ok echo "The file ". basename( $_FILES['uploadedfile']['name']). " has been uploaded, and your information has been added to the directory"; } else { //Gives and error if its not echo "Sorry, there was a problem uploading your file."; } **********This is my imageresize function which is what i am having problems with getting it to work in with the rest of my scripts this is what i am trying to get working with the other scripts*********** function resizeImage($pic,$toWidth,$toHeight){ // Get the original geometry and calculate scales list($width, $height) = getimagesize($pic); $xscale=$width/$toWidth; $yscale=$height/$toHeight; // Recalculate new size with default ratio if ($yscale>$xscale){ $new_width = round($width * (1/$yscale)); $new_height = round($height * (1/$yscale)); } else { $new_width = round($width * (1/$xscale)); $new_height = round($height * (1/$xscale)); } // Resize the original image $imageResized = imagecreatetruecolor($new_width, $new_height); $imageTmp = imagecreatefromjpeg ($pic); imagecopyresampled($imageResized, $imageTmp, 0, 0, 0, 0, $new_width, $new_height, $width, $height); return $imageResized; } Quote Link to comment https://forums.phpfreaks.com/topic/129479-please-help-me-with-my-script/ Share on other sites More sharing options...
GKWelding Posted October 28, 2008 Share Posted October 28, 2008 My advice would be to use this instead, it's something I wrote a while ago... function set_image_pro($image,$type,$size,$tmp) { define ("MAX_SIZE","500"); if ((($type == "image/gif") || ($type == "image/jpeg") || ($type == "image/pjpeg")) && ($size < MAX_SIZE*1024)) { if ($_FILES["image"]["error"] > 0) { echo "Return Code: " . $_FILES["image"]["error"] . "<br />"; } else { echo "Upload: " . $image . "<br />"; echo "Type: " . $type . "<br />"; echo "Size: " . ($size / 1024) . " Kb<br />"; if (file_exists("images/origimg/" . $image)) { echo $image . " already exists. "; } else { move_uploaded_file($tmp,"images/origimg/".$image); $origim="images/origimg/".$image; $thumbim="images/".$image; $thumbw="400"; $thumbh="400"; $this->set_createthumb($origim,$thumbim,$thumbw,$thumbh); $origim="images/".$image; $thumbim="images/thumbs/".$image; $thumbw="150"; $thumbh="150"; $this->set_createthumb($origim,$thumbim,$thumbw,$thumbh); echo "Stored in: " . "images/" . $image; echo "<h1>Uploaded Successfully</h1>"; } } } else { echo "Invalid file"; echo "Type: " . $type; } } function set_createthumb($name,$filename,$new_w,$new_h) { $system=explode('.',$name); if (preg_match('/jpg|jpeg/',$system[1])) { $src_img=imagecreatefromjpeg($name); } if (preg_match('/png/',$system[1])) { $src_img=imagecreatefrompng($name); } $old_x=imageSX($src_img); $old_y=imageSY($src_img); if ($old_x > $old_y) { $thumb_w=$new_w; $thumb_h=$old_y*($new_h/$old_x); } if ($old_x < $old_y) { $thumb_w=$old_x*($new_w/$old_y); $thumb_h=$new_h; } if ($old_x == $old_y) { $thumb_w=$new_w; $thumb_h=$new_h; } $dst_img=ImageCreateTrueColor($thumb_w,$thumb_h); imagecopyresampled($dst_img,$src_img,0,0,0,0,$thumb_w,$thumb_h,$old_x,$old_y); if (preg_match("/png/",$system[1])) { imagepng($dst_img,$filename); }else{ imagejpeg($dst_img,$filename); } imagedestroy($dst_img); imagedestroy($src_img); } You need to use the following file structure with this script.... A folder called 'images', a folder inside images called 'origimg', a folder inside images called 'thumbs'. To use this function you call it like so, setting the parameters when you call the function... $image=$_FILES["image"]["name"]; $type=$_FILES["image"]["type"]; $size=$_FILES["image"]["size"]; $tmp=$_FILES["image"]["tmp_name"]; $title=$_POST['title']; $text=$_POST['text']; $image_pro->set_image_pro($image,$type,$size,$tmp); Quote Link to comment https://forums.phpfreaks.com/topic/129479-please-help-me-with-my-script/#findComment-676559 Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.