Jump to content

[SOLVED] Upload image and resize


drisate

Recommended Posts

Hey guys,

I am having problems with uploading and resizing multiple images. For some reason the thumbnails are not created because theres an infinit loop on the first image copy() ... I dont get it :-(

 

<?
$count = count($_FILES['userfile']['name']);

for($i=0; $i < $count; $i++){

echo "- Image num: $i<br>";


$rand =rand("1000", "90000")."-".rand("1000", "90000")."-";

if ($_FILES['userfile']['name'][$i]!=""){

echo "($i) ".$_FILES['userfile']['name'][$i]." Prix en charge<br>";

// Uploading/Resizing Script 
  $url = $_FILES['userfile']['name'][$i];   // Set $url To Equal The Filename For Later Use 
  if ($_FILES['userfile']['type'][$i] == "image/jpg" || $_FILES['userfile']['type'][$i] == "image/jpeg" || $_FILES['userfile']['type'][$i] == "image/pjpeg") { 
    $file_ext = strrchr($_FILES['userfile']['name'][$i], '.');   // Get The File Extention In The Format Of , For Instance, .jpg, .gif or .php 
    $copy = copy($_FILES['userfile']['tmp_name'][$i], "$idir" . $rand . $_FILES['userfile']['name'][$i]);   // 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.<br />';   // Was Able To Successfully Upload Image 
      $simg = imagecreatefromjpeg("$idir" . $url);   // 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" . $rand . $url);   // Saving The Image 
      imagedestroy($simg);   // Destroying The Temporary Image 
      imagedestroy($dimg);   // Destroying The Other Temporary Image 
      print 'Image thumbnail created successfully.';   // Resize successful 
    } else { 
      print '<font color="#FF0000">ERROR: Unable to upload image.</font>';   // Error Message If Upload Failed 
    } 
  } else { 
    print '<font color="#FF0000">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 '.</font>'; 
  } 	
}

}
?>

 

$count is = to 4 so something else is causing the infinit loop ... If i comment out everything inside the loop and echo $_FILES['userfile']['name'][$i] i can see al the image names to upload ... so the problem is the copy thing :-(

Link to comment
https://forums.phpfreaks.com/topic/158003-solved-upload-image-and-resize/
Share on other sites

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.