image upload script not working with png


Posted on 16th Feb 2014 07:03 pm by admin

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?

Code: if((($_FILES['file']['type'] == "image/gif")
|| ($_FILES['file']['type'] == "image/jpeg")
Did you know?Explore Trending and Topic pages for more stories like this.
|| ($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>';

}

}
}
}
}
No comments posted yet

Your Answer:

Login to answer
50 Like 8 Dislike
Previous forums Next forums
Other forums

foreach help.
Hello all,

First time I'm attempting to use a foreach statement and was just wondering if my

Multiple WHILE loops help
Hi there. I'm writing an application that is pulling and displaying results for real estate listing

New Search Engine
Hey everyone,

I have a ZIP Code Radius search engine already functional. it displays all of t

Keeping track of php uploads
Hello all.

I was looking at the way PHP handles file uploads.
It seems that PHP uses a tem

Grabbing Values From an Array for Posting
I have a grid array that I am using with a form that when it hits the currently named test.php it lo

Need help in log in and log out?
hi there all of u. i have recently created a site for someone. i have placed log in and log out and

Vertical Alligning - Not working in 1 cell?
<?php

echo "<table id="valign" width="60%" style=

Am I setting up my sites oldschool?
Ok,

When I create a site I open a basic template that I have created that consists of a css f

Compare user input to flat file data
Help...Am a complete newbie to programming so my code is prolly quite long. Am trying to verify a us

Code error with Index.php
Error: Parse error: syntax error, unexpected T_STRING, expecting ',' or ';' in /home/runevid/public_

Sign up to write
Sign up now if you have flare of writing..
Login   |   Register
Follow Us
Indyaspeak @ Facebook Indyaspeak @ Twitter Indyaspeak @ Pinterest RSS



Play Free Quiz and Win Cash