note 125293 deleted from function.imagecopyresized by cmb

From: Date: Thu, 20 Aug 2020 18:38:17 +0000
Subject: note 125293 deleted from function.imagecopyresized by cmb
References: 1  Groups: php.notes 
Request: Send a blank email to php-notes+get-215007@lists.php.net to get a copy of this message
Note Submitter: oleg at nycwds dot com ---- /** * Resize an image into a square, centering and auto-scale * Author: New York Web Developers Studio * WebSite: www.nycwds.com */ function Resizer($file, $name, $dir, $NewSize) { $size = getimagesize($file); if( !is_array($size) ) return 'Invalid file type.'; $type = explode('/', $size['mime']); if( $type[0] !== 'image' ) return 'Invalid file type.'; if( $NewSize > $size[0] || $NewSize > $size[1] ) return 'image too small.'; $S = min($size[0], $size[1]); $x = max(($size[0] - $S)/2, 0); $y = max(($size[1] - $S)/2, 0); switch ($type[1]) { case 'jpeg': $Img = imagecreatefromjpeg($file); break; case 'png': $Img = imagecreatefrompng($file); break; case 'gif': $Img = imagecreatefromgif($file); break; case 'bmp': $Img = imagecreatefrombmp($file); break; default: return 'Invalid file type.'; break; } $ScaleImg = imagecreatetruecolor($NewSize, $NewSize); $result = imagecopyresized($ScaleImg, $Img, 0, 0, $x, $y, $NewSize, $NewSize, $S, $S) ? 'ok' : 'resize error'; $result = imagejpeg($ScaleImg, $dir . $name) ? 'ok' : $result . ', save error'; imagedestroy($Img); imagedestroy($ScaleImg); return $result; } $ArrayPath = [ '150' => '/img/users/', '60' => '/img/users/', '37' => '/img/users/', ]; $ImgName = '/' . md5(time()) . ".jpg"; foreach ($ArrayPath as $size => $dir) { $dir = '.' . $dir . $size; if( !is_dir($dir) ) mkdir($dir, 0777); $result = Resizer($_FILES['img']['tmp_name'], $ImgName, $dir, $size * 1); }

« previous php.notes (#215007) next »