<?php $in_dir='images/'; #откуда брать файлы $out_dir='thumbs/';#куда записывать превьюшки $h=100; #высота превьюшки $w=50; #ширина if(!file_exists($in_dir)||!file_exists($out_dir)) die('Одна из директорий не создана'); if ($handle = opendir($in_dir)) { while (false !== ($file = readdir($handle))) { if ($file != "." && $file != "..") { $info=pathinfo($file); $ext=strtolower($info['extension']); if ($ext=='gif' || $ext=='jpg' || $ext=='png') ResizeProportionalImage($w, $h, $in_dir.$file, $ext, $out_dir.$file); } } closedir($handle); } echo "Все!"; function ResizeProportionalImage($nw, $nh, $source, $stype, $dest=”) { $size = getimagesize($source); $w = $size[0]; $h = $size[1]; switch($stype) { case 'gif': $simg = imagecreatefromgif($source); break; case 'jpg': $simg = imagecreatefromjpeg($source); break; case 'png': $simg = imagecreatefrompng($source); break; } $dimg = imagecreatetruecolor($nw, $nh); $wm = $w/$nw; $hm = $h/$nh; $h_height = $nh/2; $w_height = $nw/2; if($w> $h) { $adjusted_width = $w / $hm; $half_width = $adjusted_width / 2; $int_width = $half_width - $w_height; imagecopyresampled($dimg,$simg,-$int_width,0,0,0,$adjusted_width,$nh,$w,$h); } elseif(($w <$h) || ($w == $h)) { $adjusted_height = $h / $wm; $half_height = $adjusted_height / 2; $int_height = $half_height - $h_height; imagecopyresampled($dimg,$simg,0,-$int_height,0,0,$nw,$adjusted_height,$w,$h); } else { imagecopyresampled($dimg,$simg,0,0,0,0,$nw,$nh,$w,$h); } if($dest!=”) switch($stype) { case 'gif': imagegif($dimg,$dest); break; case 'jpg': imagejpeg($dimg,$dest,100); break; case 'png': imagepng($dimg,$dest); break; } else return $dimg; } ?> |