Вот что ответил мой товарисч на эту тему:
Следующий кусок кода создает при помощи GD маленькую копию картинки(Исходная картинка может быть зааплоадена на сервер средствами того же PHP), с названием $fileName.’small’.
То есть для картинки: ‘some_image.jpg’ будет создана картинка - ‘some_image.jpg.small’
Код:
<?php
/**
* Create Small Image file
*
* @param $fileName Image file name
* @param $smallImageHeight Height of the small Image
* @param $smallImageWidth Width of the small Image
* @return string
* @access public
*/
function createImageFiles($fileName, $smallImageHeight, $smallImageWidth)
{
$result = true;
$baseName = basename($fileName);
$baseDirName = dirname($fileName);
$smallImageFileName = $fileName.'.small';
$bigImageFileName = $fileName;
$smallImage = imagecreate($smallImageWidth, $smallImageHeight);
$bigImage = imagecreatefromstring(file_get_contents($bigImageFileName));
$bigImageInfo = getimagesize($bigImageFileName);
// $bigImageInfo[0] - width, $bigImageInfo[1] - height
if (!imagecopyresized($smallImage, $bigImage, 0, 0, 0, 0, $smallImageWidth, $smallImageHeight, $bigImageInfo[0], $bigImageInfo[1])) $result = false;
if (!imagejpeg($smallImage, $smallImageFileName)) $result = false;
if (!$result) {
@unlink($smallImageFileName);
}
return $result;
}
?>