Code Explanation

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • BenKen
    New Member
    • Jun 2009
    • 8

    Code Explanation

    Hi guys, please can someone please explain how this code works. The code is shown below . Thanks.

    Code:
    function copyImage($srcFile, $destFile, $w, $h, $quality = 75)
    {
        $tmpSrc     = pathinfo(strtolower($srcFile));
        $tmpDest    = pathinfo(strtolower($destFile));
        $size       = getimagesize($srcFile);
    
        if ($tmpDest['extension'] == "gif" || $tmpDest['extension'] == "jpg")
        {
           $destFile  = substr_replace($destFile, 'jpg', -3);
           $dest      = imagecreatetruecolor($w, $h);
           imageantialias($dest, TRUE);
        } elseif ($tmpDest['extension'] == "png") {
           $dest = imagecreatetruecolor($w, $h);
           imageantialias($dest, TRUE);
        } else {
          return false;
        }
    
        switch($size[2])
        {
           case 1:       //GIF
               $src = imagecreatefromgif($srcFile);
               break;
           case 2:       //JPEG
               $src = imagecreatefromjpeg($srcFile);
               break;
           case 3:       //PNG
               $src = imagecreatefrompng($srcFile);
               break;
           default:
               return false;
               break;
        }
    
        imagecopyresampled($dest, $src, 0, 0, 0, 0, $w, $h, $size[0], $size[1]);
    
        switch($size[2])
        {
           case 1:
           case 2:
               imagejpeg($dest,$destFile, $quality);
               break;
           case 3:
               imagepng($dest,$destFile);
        }
        return $destFile;
    
    }
  • Atli
    Recognized Expert Expert
    • Nov 2006
    • 5062

    #2
    Hey.

    What exactly are you having trouble understanding?

    The code basically:
    • Fetches info on the source and destination files.
    • Creates a blank image object that can be copied into.
    • Fetches the source image as a image object.
    • Re-sizes, re-samples and copies the source image into the blank image object.
    • Saves the formerly blank image to the destination file.

    Comment

    Working...