Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    text
    copied!<p>Well, <a href="http://php.net/imagecreatefromjpeg" rel="nofollow noreferrer">imagecreatefromjpeg()</a> can only create images from... jpegs. There are sister functions for creating images from other file types, namely <a href="http://php.net/imagecreatefrompng" rel="nofollow noreferrer">imagecreatefrompng()</a> and <a href="http://php.net/imagecreatefromgif" rel="nofollow noreferrer">imagecreatefromgif()</a>.</p> <p>I've added to your code. Give it a try. Make sure you see the changes, as I put a <code>die()</code> in there in case of an invalid image, which may not be what you want:</p> <pre><code>$url = $_FILES['imagefile']['name']; // Set $url To Equal The Filename For Later Use if ($_FILES['imagefile']['type'] == "image/jpg" || $_FILES['imagefile']['type'] == "image/jpeg" || $_FILES['imagefile']['type'] == "image/pjpeg" || $_FILES['imagefile']['type'] == "image/png" || $_FILES['imagefile']['type'] == "image/gif") { $file_ext = strrchr($_FILES['imagefile']['name'], '.'); // Get The File Extention In The Format Of , For Instance, .jpg, .gif or .php $fdate = date( 'ssU' ); $copy = copy($_FILES['imagefile']['tmp_name'], "$idir" . $fdate . "$file_ext"); // Move Image From Temporary Location To Permanent Location if ($copy) { // If The Script Was Able To Copy The Image To It's Permanent Location print 'Image uploaded successfully.&lt;br /&gt;'; // Was Able To Successfully Upload Image $cfunction = 'imagecreatefromjpeg'; if ($_FILES['imagefile']['type'] == "image/png") { $cfunction = 'imagecreatefrompng'; } else if ($_FILES['imagefile']['type'] == "image/gif") { $cfunction = 'imagecreatefromgif'; } else { die("Invalid image format."); } $simg = $cfunction("$idir" . "$fdate" . "$file_ext"); // Make A New Temporary Image To Create The Thumbanil From $currwidth = imagesx($simg); // Current Image Width $currheight = imagesy($simg); // Current Image Height if ($currheight &gt; $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 &lt; $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) $fdate = date( 'ssU' ); imagejpeg($dimg, "$tdir" . "thumb_" . $fdate . "$file_ext"); // Saving The Image $full = "$fdate" . "$file_ext"; $thumb = "thumb_" . $fdate . "$file_ext"; imagedestroy($simg); // Destroying The Temporary Image imagedestroy($dimg); // Destroying The Other Temporary Image print 'Image thumbnail created successfully.'; // Resize successful } else { print '&lt;font color="#FF0000"&gt;ERROR: Unable to upload image.&lt;/font&gt;'; // Error Message If Upload Failed } } else { print '&lt;font color="#FF0000"&gt;ERROR: Wrong filetype (has to be a .jpg or .jpeg. Yours is '; // Error Message If Filetype Is Wrong print $file_ext; // Show The Invalid File's Extention print '.&lt;/font&gt;'; } </code></pre>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload