Script d'upload avec redimensionnement automatique

Script d'upload avec redimensionnement automatique - PHP - Programmation

Marsh Posté le 01-01-2007 à 16:49:37    

Salut !!
 
Connaitriez vous un bon script d'upload d'images qui redimensionne automatiquement ces dernieres ?
 
Merci :p :hello:

Reply

Marsh Posté le 01-01-2007 à 16:49:37   

Reply

Marsh Posté le 01-01-2007 à 17:16:16    

j'ai trouvé :)
 
<?php  
$idir = "images/";   // Path To Images Directory  
$tdir = "images/thumbs/";   // Path To Thumbnails Directory  
$twidth = "125";   // Maximum Width For Thumbnail Images  
$theight = "100";   // Maximum Height For Thumbnail Images  
 
if (!isset($_GET['subpage'])) {   // Image Upload Form Below   ?>  
  <form method="post" action="upload.php?subpage=upload" enctype="multipart/form-data">  
   File:<br />  
  <input type="file" name="imagefile" class="form">
  <br /><br />  
  <input name="submit" type="submit" value="Sumbit" class="form">  <input type="reset" value="Clear" class="form">  
  </form>  
<? } else  if (isset($_GET['subpage']) && $_GET['subpage'] == 'upload') {   // Uploading/Resizing Script  
  $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" ) {  
    $file_ext = strrchr($_FILES['imagefile']['name'], '.');   // Get The File Extention In The Format Of , For Instance, .jpg, .gif or .php  
 
    $copy = copy($_FILES['imagefile']['tmp_name'], "$idir" . $_FILES['imagefile']['name']);   // 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" . $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>';  
  }  
} ?>

Reply

Marsh Posté le 01-01-2007 à 18:30:28    

Code :
  1. <?php
  2. $idir = "images/";   // Path To Images Directory
  3. $tdir = "images/thumbs/";   // Path To Thumbnails Directory
  4. $twidth = "125";   // Maximum Width For Thumbnail Images
  5. $theight = "100";   // Maximum Height For Thumbnail Images
  6.  
  7. if (!isset($_GET['subpage'])) {   // Image Upload Form Below   ?>
  8.  <form method="post" action="upload.php?subpage=upload" enctype="multipart/form-data">
  9.   File:<br />
  10.  <input type="file" name="imagefile" class="form">
  11.  <br /><br />
  12.  <input name="submit" type="submit" value="Sumbit" class="form">  <input type="reset" value="Clear" class="form">
  13.  </form>
  14. <? } else  if (isset($_GET['subpage']) && $_GET['subpage'] == 'upload') {   // Uploading/Resizing Script
  15.  $url = $_FILES['imagefile']['name'];   // Set $url To Equal The Filename For Later Use
  16.  if ($_FILES['imagefile']['type'] == "image/jpg" || $_FILES['imagefile']['type'] == "image/jpeg" || $_FILES['imagefile']['type'] == "image/pjpeg" ) {
  17.    $file_ext = strrchr($_FILES['imagefile']['name'], '.');   // Get The File Extention In The Format Of , For Instance, .jpg, .gif or .php
  18.     
  19.    $copy = copy($_FILES['imagefile']['tmp_name'], "$idir" . $_FILES['imagefile']['name']);   // Move Image From Temporary Location To Permanent Location
  20.    if ($copy) {   // If The Script Was Able To Copy The Image To It's Permanent Location
  21.      print 'Image uploaded successfully.<br />';   // Was Able To Successfully Upload Image
  22.      $simg = imagecreatefromjpeg("$idir" . $url);   // Make A New Temporary Image To Create The Thumbanil From
  23.      $currwidth = imagesx($simg);   // Current Image Width
  24.      $currheight = imagesy($simg);   // Current Image Height
  25.      if ($currheight > $currwidth) {   // If Height Is Greater Than Width
  26.         $zoom = $twidth / $currheight;   // Length Ratio For Width
  27.         $newheight = $theight;   // Height Is Equal To Max Height
  28.         $newwidth = $currwidth * $zoom;   // Creates The New Width
  29.      } else {    // Otherwise, Assume Width Is Greater Than Height (Will Produce Same Result If Width Is Equal To Height)
  30.        $zoom = $twidth / $currwidth;   // Length Ratio For Height
  31.        $newwidth = $twidth;   // Width Is Equal To Max Width
  32.        $newheight = $currheight * $zoom;   // Creates The New Height
  33.      }
  34.      $dimg = imagecreate($newwidth, $newheight);   // Make New Image For Thumbnail
  35.      imagetruecolortopalette($simg, false, 256);   // Create New Color Pallete
  36.      $palsize = ImageColorsTotal($simg);
  37.      for ($i = 0; $i < $palsize; $i++) {   // Counting Colors In The Image
  38.       $colors = ImageColorsForIndex($simg, $i);   // Number Of Colors Used
  39.       ImageColorAllocate($dimg, $colors['red'], $colors['green'], $colors['blue']);   // Tell The Server What Colors This Image Will Use
  40.      }
  41.      imagecopyresized($dimg, $simg, 0, 0, 0, 0, $newwidth, $newheight, $currwidth, $currheight);   // Copy Resized Image To The New Image (So We Can Save It)
  42.      imagejpeg($dimg, "$tdir" . $url);   // Saving The Image
  43.      imagedestroy($simg);   // Destroying The Temporary Image
  44.      imagedestroy($dimg);   // Destroying The Other Temporary Image
  45.      print 'Image thumbnail created successfully.';   // Resize successful
  46.    } else {
  47.      print '<font color="#FF0000">ERROR: Unable to upload image.</font>';   // Error Message If Upload Failed
  48.    }
  49.  } else {
  50.    print '<font color="#FF0000">ERROR: Wrong filetype (has to be a .jpg or .jpeg. Yours is ';   // Error Message If Filetype Is Wrong
  51.    print $file_ext;   // Show The Invalid File's Extention
  52.    print '.</font>';
  53.  }
  54. } ?>

[:aloy]

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed