×

Welcome to TagMyCode

Please login or create account to add a snippet.
0
0
 
0
Language: PHP
Posted by: Gábor Papp
Added: Feb 11, 2023 10:11 AM
Views: 0
Tags: no tags
  1. function kepalakito($p) { extract($p);
  2.         list($width,$height)=getimagesize($originalpic);
  3.         $ratio=$width/$height;
  4.         if ($ratio>=1) { $ratio_irany='width'; } else { $ratio_irany='height'; }
  5.         $kepek=[];
  6.         for ($i=0; $i<count($sizes); $i++) {
  7.                 if ($ratio_irany=='width') {
  8.                         $new_width=$sizes[$i][1];
  9.                         $new_height=$new_width/$ratio;
  10.                 } else {
  11.                         $new_height=$sizes[$i][2];
  12.                         $new_width=$new_height*$ratio;
  13.                 }
  14.  
  15.                 $new_image=imagecreatetruecolor($new_width,$new_height);
  16.                 $file_info=pathinfo($originalpic);
  17.                 $extension=$file_info['extension'];
  18.                 // print('<pre>');print_r($extension);print('</pre>');
  19.                 // print('<pre>');print_r($file_info);print('</pre>');
  20.  
  21.                 $new_file=str_replace('//','/',DIR.$sizes[$i][0]);
  22.                 $last_slash=strrpos($new_file,"/");
  23.                 $dir=substr($new_file,0,$last_slash+1);
  24.                 if (!file_exists($dir)) { mkdir($dir, 0777, true); }
  25.  
  26.                 switch($extension) {
  27.                         case 'jpg':
  28.                         case 'jpeg':
  29.                                 // $img = @imagecreatefromjpeg($file);
  30.                                 $old_image=imagecreatefromjpeg($originalpic);
  31.                                 imagecopyresampled($new_image, $old_image, 0, 0, 0, 0, $new_width, $new_height, $width, $height);
  32.                                 imagejpeg($new_image,$new_file,90);
  33.                         break;
  34.                         case 'png':
  35.                                 $old_image=imagecreatefrompng($originalpic);
  36.                                 imagecopyresampled($new_image,$old_image,0,0,0,0,$new_width,$new_height,$width,$height);
  37.                                 imagepng($new_image,$new_file);
  38.                         break;
  39.                         default:
  40.                                 $old_image=false;
  41.                         break;
  42.                 }
  43.  
  44.                 imagedestroy($old_image);
  45.                 imagedestroy($new_image);
  46.         }
  47. }
  48. $pars=[];
  49. $pars['originalpic']=$this_file;
  50. $pars['sizes']=[[$mezok['route_medium'],900,675],[$mezok['route_small'],200,150]];
  51. kepalakito($pars);