Jump to content

image upload script not working with png


sparq

Recommended Posts

The basic process of this php code is to take the submitted file, convert it to a small JPG thumbnail and put it into one directory and save the original file into another, but it seems that when using PNG images it doesn't quite work, any ideas?  :confused:

 

if((($_FILES['file']['type'] == "image/gif")
	|| ($_FILES['file']['type'] == "image/jpeg")
	|| ($FILES['file']['type'] == "image/pjpeg"))
	&& ($_FILES['file']['size'] < 2000000000))	
	{
		if($_FILES['file']['error'] > 0)
		{
			echo '<script language="javascript" type="text/javascript">window.top.window.upload_error(' . $_FILES['file']['error'] . ');</script>';
		}
		else
		{


			$fileName = $_FILES['file']['name'];
			$f_ext = "." . strtolower(substr(strrchr($fileName, '.'), 1));
			$time = time();
			$f_noext = $time.substr(microtime(),2,3);
	  		$f_name = $time.substr(microtime(),2,3) . $f_ext;

			if(file_exists("img/" . $f_name))
			{
				echo $_FILES['file']['name'] . " already exists.";
			}
			else
			{
	  			
				move_uploaded_file($_FILES['file']['tmp_name'], "img/" . $f_name);



				$image_path = "img/" . $f_name;

				$fsize = getimagesize($image_path);
				$max_d = ($orig_p==0)? 250 : 125;
				$img = null;

				$ext = strtolower(end(explode('.', $image_path)));

				if($ext == 'jpg' || $exit == 'jpeg')
				{
					$img = @imagecreatefromjpeg($image_path);
				} 
				else if($ext == 'png')
				{
					$img = @imagecreatefrompng($image_path);	
				}
				else if ($ext == 'gif')
				{
					$img = @imagecreatefrompng($image_path);
				}

				if($img)
				{

					$w = imagesx($img);
	   				$h = imagesy($img);

					$width = imagesx($img);
					$height = imagesy($img);
					$scale = min($max_d/$width, $max_d/$height);

					if($scale < 1){
						$new_width = floor($scale *$width);
						$new_height = floor($scale*$height);

						$tmp_img = imagecreatetruecolor($new_width, $new_height);

						imagecopyresized($tmp_img, $img, 0,0,0,0,$new_width,$new_height,$width,$height);
						imagedestroy($img);

						$img = $tmp_img;


						ImageJPEG($img, 'thumb/' . $f_noext . 't.jpg',60);
						imagedestroy($tmp_img);
						echo '<script language="javascript" type="text/javascript">window.top.window.stopUpload();</script>'; 

					}

				}
			}
		}
	}

 

 

Archived

This topic is now archived and is closed to further replies.

×
×
  • 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.