Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Масштабирование рисунков
 
 автор: jaroslav   (30.01.2008 в 15:48)   письмо автору
 
 

Подскажите, пожалуйста, при создании маленьких изображений из больших их лучше создавать и копировать на диск, или выводить непосредственно в браузер без сохранения на диске? В каком случае будет меньше нагрузка на сервер?

   
 
 автор: Саня   (30.01.2008 в 17:50)   письмо автору
 
   для: jaroslav   (30.01.2008 в 15:48)
 

Нагрузка будет меньше, если создавать миниатюры и хранить их на сервере.

   
 
 автор: Jaroslav   (31.01.2008 в 09:18)   письмо автору
 
   для: Саня   (30.01.2008 в 17:50)
 

Здравствуйте.

Спасибо за ответ!
Подскажите, пожалуйста, еще по поводу рисунков.
Использую функцию, которая приведена в книге Кузнецова "PHP5 на примерах" для вывода масштабированных изображений сразу в браузер. Но надо сделать так, чтобы размеры масштабированного изображения были всегда одинаковыми, например, 100 х 60.
А они получаются то меньше по высоте, то меньше по ширине.

Как это исправить?
Вот сама функция:


************************************************

<?php

$img=$_GET['img'];
resizeimg($img, 100, 60);

function resizeimg($filename, $w, $h)
{
$ratio=$w/$h;
$size_img=getimagesize($filename);
if (($size_img[0]<$w) && ($size_img[1]<$h)) return true;
$src_ratio=$size_img[0]/$size_img[1];
if ($ratio<$src_ratio) $h=$w/$src_ratio;
else $w=$h*$src_ratio;
$dest_img=imagecreatetruecolor($w, $h);
if ($size_img[2]==2) $src_img=imagecreatefromjpeg($filename);
else if ($size_img[2]==1) $src_img=imagecreatefromgif($filename);
else if ($size_img[2]==3) $src_img=imagecreatefrompng($filename);
if (!imagecopyresampled ($dest_img, $src_img, 0,0,0,0, $w, $h,
$size_img[0], $size_img[1])) return false;
$path_parts=pathinfo($filename);

// вывод изображений в браузер

if ($path_parts["extension"]=="jpg")
{
header("Content-type: image/jpeg");
imagejpeg($dest_img);
}

else if ($path_parts["extension"]=="gif")
{
header("Content-type: image/gif");
imagegif($dest_img);
}
else if ($path_parts["extension"]=="png")
{
header("Content-type: image/png");
imagegif($dest_img);
}

imagedestroy($dest_img);
imagedestroy($src_img);
return true;
}
?>

************************************************


А вывод на стр. осуществляется вот таким образом:

<img src="util.php?img=image002.jpg" border=0>

Как сделать так, чтобы вот этот рисунок, который выводится, масштабировался с размерами 100 х 60? Естественно, загружают файлы-исходники большего размера.


С уважением,
Воробьев Ярослав.

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования