| 
			| 
					
						| RomCom | 
								|  | «  : 30-05-2005 02:38 »  |  | 
 
 В теме https://forum.shelek.ru/index.php/topic,6133.0.html  был затронут вопрос вывода уменьшеных копий изображение. Здесь я привожу скрипт написаный для вывода файлов jpeg и gif (можно добавить PNG, BMP). Все делается через библиотеку GD2. <?phpheader ("Content-type: image/jpg");
 function LoadImg($src)
 {
 $sw=imagesx($src); //ширина оригинала
 $sh=imagesy($src); //высота оригинала
 $iw=500; $ih=200; //максимальные ширина и высота пиктограммки
 //вычисляем, что больше ширина или высота, и размеры пиктограммки
 $dw=$iw/$sw;
 $dh=$ih/$sh;
 if(($sh*$dw) > $ih) { $nh=$ih; $nw=$dh*$sw; }
 else { $nh=$dw*$sh; $nw=$iw; }
 $dist = imagecreatetruecolor($nw,$nh); // создать пустое изображение
 imagecopyresized($dist,$src,0,0,0,0,$nw,$nh,$sw,$sh); //копируем оригинал в маленькую фотку
 return $dist;
 }
 $imgname="refresh.gif"; //имя файла
 $t=getimagesize($imgname);
 switch ($t[2]) //определяем тип
 {
 case 1: // это gif
 $src = @imagecreatefromgif ($imgname); /* попытка открыть */
 if(!$src) die ("Not open img - $imgname");
 $dist = LoadImg($src);
 imagegif($dist); //выводим в браузер
 break;
 case 2: // это jpg
 $src = @imagecreatefromjpeg ($imgname); /* попытка открыть */
 if(!$src) die ("Not open img - $imgname");
 $dist = LoadImg($src);
 imagejpeg($dist,null,60); //выводим в браузер
 break;
 }
 imagedestroy($src);
 imagedestroy($dist);
 ?>
 
Вопрос в следующем:  Будет ли такой скриптик сильно пригружать сервер, если размер оригиналов фоток примерно 800х600? Пршу высказать свои мнения. |  
						| 
								|  |  
								|  |  Записан | 
 
 R.O.M.C.O.M.: Robotic Operational Mathematics and Ceaseless Observation Machine |  |  | 
	| 
			| 
					
						| MOPO3 
								Ай да дэдушка! Вах...Команда клуба    Offline 
								Пол:   
								Холадна аднака!
								
								
								
								
								
								   | 
								|  | « Ответ #1 : 30-05-2005 15:07 »  |  | 
 
 Вопрос в следующем:Будет ли такой скриптик сильно пригружать сервер, если размер оригиналов фоток примерно 800х600?
 Пршу высказать свои мнения.
 
 Не должен. У меня для моего CMS написан клас для ресайза картинок. Ещё никто поа не жаловаля    При загрузке картинки 1024x768 и конверте в 300x250 всё быстро работает.   |  
						| 
								|  |  
								|  |  Записан | 
 
 MCP, MCAD, MCTS:Win, MCTS:Web |  |  | 
	| 
			| 
					
						| RomCom | 
								|  | « Ответ #2 : 31-05-2005 00:33 »  |  | 
 
 Обнаружил маленькую заморочку. Почемуто иногда, после какого нибудь редактирования скрипта, браузер перестает выводить фото в основном окне, а показывает окно загрузки файла. Никак не могу уловить в чем дело.Кто с таким сталкивался помогите, наставте на путь истенный.
 |  
						| 
								|  |  
								|  |  Записан | 
 
 R.O.M.C.O.M.: Robotic Operational Mathematics and Ceaseless Observation Machine |  |  | 
	| 
			| 
					
						| schnibbl 
								Гость
 | 
								|  | « Ответ #3 :  31-05-2005 04:28 »   |  | 
 
 а в php есть генератор случайных чисел ?и если есть может ли он выдавать случайные числа в заданном диапазоне ?
 |  
						| 
								|  |  
								|  |  Записан | 
 |  |  | 
	| 
			| 
					
						| RXL | 
								|  | « Ответ #4 : 31-05-2005 13:13 »  |  | 
 
 |  
						| 
								|  |  
								|  |  Записан | 
 
 ... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С. |  |  | 
	| 
			| 
					
						| MOPO3 
								Ай да дэдушка! Вах...Команда клуба    Offline 
								Пол:   
								Холадна аднака!
								
								
								
								
								
								   | 
								|  | « Ответ #5 : 31-05-2005 19:01 »  |  | 
 
 а в php есть генератор случайных чисел ?и если есть может ли он выдавать случайные числа в заданном диапазоне ?
 
 А также я приводил простейшие примеры в одной из частей "Полезных скриптов" |  
						| 
								|  |  
								|  |  Записан | 
 
 MCP, MCAD, MCTS:Win, MCTS:Web |  |  | 
	| 
			| 
					
						| Dracul | 
								|  | « Ответ #6 : 01-06-2005 03:17 »  |  | 
 
 А не проще ли при загрузки большой картинки, создавать маленькую копию, для предпросмотра... |  
						| 
								|  |  
								|  |  Записан | 
 |  |  | 
	| 
			| 
					
						| RomCom | 
								|  | « Ответ #7 : 01-06-2005 05:54 »  |  | 
 
 Можно и так. Но легче просто закочать файл, а остальную работу оставить скрипту сайта. К тому же если делать копии то дисковое пространчтво засоряется, а когда фотографии это основной контент сайта то издержки будут внушительными. У меня на сайте примерно 9% от общего объема фото уходит под это дело, т.к. пиктограммки нужны достаточно большого размера.Да и с точки зрения дезайна сайта не удобно. Сегодня иконки одного размера, завтра решил зделать другого...
 |  
						| 
								|  |  
								| « Последнее редактирование: 01-06-2005 05:56 от RomCom » |  Записан | 
 
 R.O.M.C.O.M.: Robotic Operational Mathematics and Ceaseless Observation Machine |  |  | 
	| 
			| 
					
						| Dracul | 
								|  | « Ответ #8 : 02-06-2005 02:46 »  |  | 
 
 Хе, а ведь верно, спасибо, приму к сведению..   |  
						| 
								|  |  
								|  |  Записан | 
 |  |  | 
	| 
			| 
					
						| Dracul | 
								|  | « Ответ #9 : 03-06-2005 03:49 »  |  | 
 
 Маленький вопросик:не работает однако, не выдает ни каких ошибок, но вместо картинок выдает кучу (очень большую) различных символов, самое интересное то, что если приглядеться, то где-то в самом начале этих символов, есть строки о GD, что-то v1 и о JEPG и циферии коакие-то?
 Пользуем мы денвер, может кто подскажет как это лечится (У меня подозрение, что библиотека GD староватая, из-за этого могут быть глюки?)
 И еще надыбал инфу, что перед посылом картинки в браузер, надо посылать заголовок, типа вот такого: "Content-type: image/JPEG", послал (использовал функцию Header) но картинки, как небыло, так и нету, а еще в добавок, выводится ощибка на строку с посылкой заголовка!
 |  
						| 
								|  |  
								|  |  Записан | 
 |  |  | 
	| 
			| 
					
						| MOPO3 
								Ай да дэдушка! Вах...Команда клуба    Offline 
								Пол:   
								Холадна аднака!
								
								
								
								
								
								   | 
								|  | « Ответ #10 : 04-06-2005 19:16 »  |  | 
 
 Во первых : Проверь правильно ли формируеш Content-type. Погугли на эту тему и очень быстро найдёш список контент тайпов и как правильно их писать
 Во вторых : При использовании функции header(); НЕ ДОЛЖНО быть НИКАКОГО вывода каких бы то ни было данных до вызова самой фунции
 |  
						| 
								|  |  
								|  |  Записан | 
 
 MCP, MCAD, MCTS:Win, MCTS:Web |  |  | 
	| 
			| 
					
						| Dracul | 
								|  | « Ответ #11 : 05-06-2005 02:56 »  |  | 
 
 Во вторых : При использовании функции header(); НЕ ДОЛЖНО быть НИКАКОГО вывода каких бы то ни было данных до вызова самой фунции
 Заголовок верный, но посылается он уже после того, как в браузер переданно море инфы. Пробовал посылать сей заголовок в самом начале программы: все равно не помогает, вместо картинки выводится ее внутренности   |  
						| 
								|  |  
								|  |  Записан | 
 |  |  | 
	|  |