<?
$w = 200; // Максимальная ширина конечного файла
$ww = 100;
$www = 50;
$q = 100; // Качество jpeg изображения
$file = $_FILES["userfile"]["name"]; // Записываем оригинальное имя файла
$w_src = imagesx($src); // Определяем его линейный размер по горизонтали (ширина) $h_src = imagesy($src); // Определяем его линейный размер по вертикали (высота)
$dir = "$DOCUMENT_ROOT"; // Папка, куда будет записан уже преобразованный файл
$path = "$dir$file"; // Полный путь к файлу (включая и его имя)
if ($w_src != $w) // Проверяем не равна ли уже исходная ширина необходимой нам
{
if ($w_src > $h_src or $h_src > $w_src) // Если изображение горизонтальное или вертикальное
{
$ratio = $w_src/$w; // Считаем соотношение пропорций
$w_dest = $w; // Конечная ширина будет равна максимальной
$h_dest = round($h_src/$ratio); // Считаем конечную высоту }
else // Если изображение квадратное
{
$w_dest = $w; // Подставляем максимальные значения
$h_dest = $w;
}
// Преобразуем исходное изображение в конечное (с новыми размерами).
// Функция использует ресемплинг, поэтому изображение будет лучшего
// качества, чем если использовать вместо imagecopyresampled функцию
// imagecopyresized
}
else
{
// Если исходная ширина равна нужной нам на выходе, то просто
// создаем временный файл без преобразований
}
if (!file_exists ("$path")) // Проверяем не существует ли уже файл {
$res = imagejpeg($dest,"$path",$q); // Копируем файл в папку if ($res) // Если скопировано успешно, выдаем сообщение об успехе
{
echo "Файл закачан1";
}
else // Если не скопировано, то выдаем сообщение об ошибке
{
echo "Ошибка записи файла!";
}
}
echo "<br>";
if ($w_src != $ww) // Проверяем не равна ли уже исходная ширина необходимой нам
{
if ($w_src > $h_src or $h_src > $w_src) // Если изображение горизонтальное или вертикальное
{
$ratio1 = $w_src/$ww; // Считаем соотношение пропорций
$w_dest1 = $ww; // Конечная ширина будет равна максимальной
$h_dest1 = round($h_src/$ratio1); // Считаем конечную высоту }
else // Если изображение квадратное
{
$w_dest1 = $ww; // Подставляем максимальные значения
$h_dest1 = $ww;
}
// Преобразуем исходное изображение в конечное (с новыми размерами).
// Функция использует ресемплинг, поэтому изображение будет лучшего
// качества, чем если использовать вместо imagecopyresampled функцию
// imagecopyresized
}
else
{
// Если исходная ширина равна нужной нам на выходе, то просто
// создаем временный файл без преобразований
}
if (!file_exists ("a$path")) // Проверяем не существует ли уже файл {
$res = imagejpeg($dest1,"a$path",$q); // Копируем файл в папку if ($res) // Если скопировано успешно, выдаем сообщение об успехе
{
echo "Файл закачан2";
}
else // Если не скопировано, то выдаем сообщение об ошибке
{
echo "Ошибка записи файла!";
}
}
echo "<br>";
if ($w_src != $www) // Проверяем не равна ли уже исходная ширина необходимой нам
{
if ($w_src > $h_src or $h_src > $w_src) // Если изображение горизонтальное или вертикальное
{
$ratio2 = $w_src/$www; // Считаем соотношение пропорций
$w_dest2 = $www; // Конечная ширина будет равна максимальной
$h_dest2 = round($h_src/$ratio2); // Считаем конечную высоту }
else // Если изображение квадратное
{
$w_dest2 = $www; // Подставляем максимальные значения
$h_dest2 = $www;
}
// Преобразуем исходное изображение в конечное (с новыми размерами).
// Функция использует ресемплинг, поэтому изображение будет лучшего
// качества, чем если использовать вместо imagecopyresampled функцию
// imagecopyresized
}
else
{
// Если исходная ширина равна нужной нам на выходе, то просто
// создаем временный файл без преобразований
}
if (!file_exists ("x$path")) // Проверяем не существует ли уже файл {
$res = imagejpeg($dest2,"x$path",$q); // Копируем файл в папку if ($res) // Если скопировано успешно, выдаем сообщение об успехе
{
echo "Файл закачан3";
}
else // Если не скопировано, то выдаем сообщение об ошибке
{
echo "Ошибка записи файла!";
}
}
?>