Jump to content

Image uploading


pajoo

Recommended Posts

When i registred and try to upload a picture it doesnt show the picture but only a little icon that the picture doesnt excist.

 

this is my code:

 

		if(!empty($_FILES['photo'])) {
		if ((($_FILES["photo"]["type"] == "image/gif") || ($_FILES["photo"]["type"] == "image/jpeg") || ($_FILES["photo"]["type"] == "image/pjpeg") || ($_FILES["photo"]["type"] == "image/png")) && ($_FILES["photo"]["size"] < 1048576)){
			$fileName = $_FILES['photo']['name'];
			$tmpName  = $_FILES['photo']['tmp_name'];
			$fileSize = $_FILES['photo']['size'];
			$fileType = $_FILES['photo']['type'];
			if(!get_magic_quotes_gpc()){
				if(isset($fileName)) {
					$fileName = addslashes($fileName);
				}
			}
			$url = $_FILES['photo']['name'];
			$idir = "upload/";   // Path To Images Directory
			$tdir = "upload/thumbs/";   // Path To Thumbnails Directory
			$twidth = "125";   // Maximum Width For Thumbnail Images
			$theight = "125";   // Maximum Height For Thumbnail Images
			$simg = imagecreatefromjpeg($_FILES["photo"]["tmp_name"]);   // Make A New Temporary Image To Create The Thumbanil From
			$currwidth = imagesx($simg);   // Current Image Width
			$currheight = imagesy($simg);   // Current Image Height
			if ($currheight > $currwidth) {   // If Height Is Greater Than Width
				$zoom = $twidth / $currheight;   // Length Ratio For Width
				$newheight = $theight;   // Height Is Equal To Max Height
				$newwidth = $currwidth * $zoom;   // Creates The New Width
			} else {    // Otherwise, Assume Width Is Greater Than Height (Will Produce Same Result If Width Is Equal To Height)
				$zoom = $twidth / $currwidth;   // Length Ratio For Height
				$newwidth = $twidth;   // Width Is Equal To Max Width
				$newheight = $currheight * $zoom;   // Creates The New Height
			}
			$dimg = imagecreate($newwidth, $newheight);   // Make New Image For Thumbnail
			imagetruecolortopalette($simg, false, 256);   // Create New Color Pallete
			$palsize = ImageColorsTotal($simg);
			for ($i = 0; $i < $palsize; $i++) {   // Counting Colors In The Image
				$colors = ImageColorsForIndex($simg, $i);   // Number Of Colors Used
				ImageColorAllocate($dimg, $colors['red'], $colors['green'], $colors['blue']);   // Tell The Server What Colors This Image Will Use
			}
			imagecopyresized($dimg, $simg, 0, 0, 0, 0, $newwidth, $newheight, $currwidth, $currheight);   // Copy Resized Image To The New Image (So We Can Save It)
			imagejpeg($dimg, "$tdir" . $url);   // Saving The Image
			$tmpName = "$tdir" . $url;
			$fp = fopen($tmpName, 'r');
			$imgcontent = fread($fp, filesize($tmpName));
			$imgcontent = addslashes($imgcontent);
			fclose($fp);
			unlink($tmpName);
			imagedestroy($simg);   // Destroying The Temporary Image
			imagedestroy($dimg);   // Destroying The Other Temporary Image

Link to comment
Share on other sites

ow crap! i've send the wrong code! sorry guys!

this is the right code:

 

if(!empty($_FILES['photo'])) {
		if($_FILES['photo']['size'] > 0) {
		$fileName = $_FILES['photo']['name'];
		$tmpName  = $_FILES['photo']['tmp_name'];
		$fileSize = $_FILES['photo']['size'];
		$fileType = $_FILES['photo']['type'];

		$fp      = fopen($tmpName, 'r');
		$imgcontent = fread($fp, filesize($tmpName));
		$imgcontent = addslashes($imgcontent);
		fclose($fp);
		}

		if(!get_magic_quotes_gpc()){
			if(isset($fileName)) {
				$fileName = addslashes($fileName);
			}

Link to comment
Share on other sites

ow crap! i've send the wrong code! sorry guys!

this is the right code:

 

if(!empty($_FILES['photo'])) {
		if($_FILES['photo']['size'] > 0) {
		$fileName = $_FILES['photo']['name'];
		$tmpName  = $_FILES['photo']['tmp_name'];
		$fileSize = $_FILES['photo']['size'];
		$fileType = $_FILES['photo']['type'];

		$fp      = fopen($tmpName, 'r');
		$imgcontent = fread($fp, filesize($tmpName));
		$imgcontent = addslashes($imgcontent);
		fclose($fp);
		}

		if(!get_magic_quotes_gpc()){
			if(isset($fileName)) {
				$fileName = addslashes($fileName);
			}

 

so where exactly in this code are you uploading the file?

Link to comment
Share on other sites

I'm kinda new to PHP so i think its in there, isn't it?

no, you are reading the temp file and not doing anything with it, here is a rough skeleton of what you need to upload an image, you will need to look at some more information about this subject to fill in the blanks..

 

if(!empty($_FILES['photo'])) {
		if($_FILES['photo']['size'] > 0) {
		$fileName = $_FILES['photo']['name'];
		$tmpName  = $_FILES['photo']['tmp_name'];
		$fileType = $_FILES['photo']['type'];
		$allowed_types = array("image/jpg","image/jpeg","image/gif","image/png"); //array to check for valid file type
		      if(in_array($fileType,$allowed_types)) { //if the file is a valid type
                                    $image_path = "path/to/desired/location/" . $fileName; //path to write file
                                    if(move_uploaded_file($tmpName,$image_path)) { //if writing to path was successful
                                          echo "hurray";
                                    }
                              }
		}

 

now I left a few things out, including the debugging of your script and perhaps one or two other checks that you can perform on your file before uploading, that is where you will have to fill in the blanks, typically,move_uploaded_file is used to upload a file to a specified path.

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.