Jump to content

image upload to server, writing image name to mysql


ggw

Recommended Posts

Hello

 

I am having problems uploading an image through a HTML form. I want the image to be uploaded to the server and the image name to be written to the mysql database.

 

Below is the code I am using:

<?php
if (isset($_POST['add'])){
   
   echo "<br /> add value is true";
      $name = $_POST['name'];   
      $description = $_POST['description'];   
      $price = $_POST['price'];
      $category_id = $_POST['category_name'];
      $image = $_FILES['image']['name'];   
      
      //file path of the image upload
      $filepath = "../images/";
      //mew name for the image upload
      $newimagename = $name;
      //new width for the image
      $newwidth = 100;
      //new height for the image
      $newheight = 100;
      
      include('../includes/image-upload.php');
      
      
      mysql_query("INSERT INTO item (item_name, item_description, item_price, item_image)
      VALUES ('$name','$description','$price','$image')"); ?>

 

Here is the image-upload.php file code:

 

<?php

//assigns the file to the image
$image =$_FILES["image"]["name"];
$uploadedfile =$_FILES["image"]["tmp_name"];

if ($image) {
   //retrieves the extension type from image upload
   $extension = getextension($image);
   //converts extension to lowercase
   $extension = strtolower($extension);
   
   //create image from uploaded file type
   if($extension=="jpg" || $extension=="jpeg") {
      $uploadedfile = $_FILES['image']['tmp_name'];
      $src = imagecreatefromjpeg($uploadedfile);
   }else if($extension=="png") {
      $uploadedfile = $_FILES['image']['tmp_name'];
      $src = imagecreatefrompng($uploadedfile);
   }else{
      $src = imagecreatefromgif($uploadedfile);
   }
   
   //creates a list of the width and height of the image
   list($width,$height)=getimagesize($uploadedfile);
   
   //adds color to the image
   $tmp = imagecreatetruecolor($newwidth,$newheight);
   
   //create image
   imagecopyresampled($tmp,$src,0,0,0,0,$newwidth,$newheight,$width,$height);
   
   //set file name
   $filename = $filepath.$newimagename.".".$extension;
   $imagename = $newimagename.".".$extension;
   //uploads new file with name to the chosen directory
   imagejpeg($tmp,$filename,100);
   
   //empty variables
   imagedestroy($src);
   imagedestroy($tmp);
   
}


?>

 

Any help would be appreciated, fairly new to all this!

 

Thanks!!!

Link to comment
Share on other sites

Please could you give me an example of this, as I thought $uploadedfile was doing this.

 

Sorry to be a pain!

 

Thank you!!!

 

there are examples on the page that you were linked to.

In the given script, you are simply setting $uploadedfile to name of the file in the tmp directory.

This has nothing to do with actually uploading the file to your server.

Link to comment
Share on other sites

I have put it back to what it was originally now, I don't know what to do, been trying for two days. I looked at other forums, websites and books. Everything I do just doesn't seem to work! My current code is :

 

<?php

//This is the directory where images will be saved 
$target = "images/"; 
$target = $target . basename( $_FILES['image']['name']); 

if (isset($_POST['add'])){

echo "<br /> add value is true";
	$name = $_POST['name'];	
	$description = $_POST['description'];	
	$price = $_POST['price'];
	$category_id = $_POST['category_name'];
	$image = ($_FILES['image']['name']); 
	move_uploaded_file($_FILES['image']['tmp_name'], $target); 	

mysql_query ("INSERT INTO item (item_name, item_description, item_price, item_image)
	VALUES ('$name','$description','$price','$image')");


	$item_id = mysql_insert_id();
	echo "item id is: " . $item_id;
	mysql_query("INSERT INTO links (item_id, category_id)
	VALUES ('$item_id', '$category_id' )");


}

?>

 

The image-upload.php is the same as the post above.

 

Thanks!

Link to comment
Share on other sites

This thread is more than a year old. Please don't revive it unless you have something important to add.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.