note 125293 added to function.imagecopyresized
| From: | oleg at nycwds dot com | Date: | Thu, 20 Aug 2020 17:30:13 +0000 |
| Subject: | note 125293 added to function.imagecopyresized | ||
| Groups: | php.notes | ||
| Request: | Send a blank email to php-notes+get-215006@lists.php.net to get a copy of this message | ||
/**
* 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);
}
----
Server IP: 45.112.84.4
Probable Submitter: 103.51.166.36 (proxied: 96.250.124.94)
----
Manual Page -- http://php.net/manual/en/function.imagecopyresized.php
Edit -- https://master.php.net/note/edit/125293
Del: integrated -- https://master.php.net/note/delete/125293/integrated
Del: useless -- https://master.php.net/note/delete/125293/useless
Del: bad code -- https://master.php.net/note/delete/125293/bad+code
Del: spam -- https://master.php.net/note/delete/125293/spam
Del: non-english -- https://master.php.net/note/delete/125293/non-english
Del: in docs -- https://master.php.net/note/delete/125293/in+docs
Del: other reasons-- https://master.php.net/note/delete/125293
Reject -- https://master.php.net/note/reject/125293
Search -- https://master.php.net/manage/user-notes.php