 
			
				26.11.2017, 18:13
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 Профессор 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 07.07.2016 
					
					
					
						Сообщений: 281
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		
	
 
	
		
			Сообщение от laimas
			 
		
	 | 
 
	| 
		JPEG формат не поддерживает анимацию, разберитесь что у вас сохранилось.
	 | 
 
	
 
 Да, я знаю, но не один раз встречала именно анимацию в формате jpg. Теперь Вы мне пояснили почему. Причем у меня показывает анимацию в трех разных браузерах. 
Я так понимаю теперь все вшивки в exif, будут отсечены, а изменением размера можно уничтожить и в теле картинке? Но если размер изображения равен необходимому, можно это сделать двойным ресайзом, например, сначала увеличить на несколько пикселей, а потом вернуть к исходному. Или суть здесь, именно в измененном от начального размере.  
		
	
		
		
		
		
		
		
		
						  
				
				Последний раз редактировалось Sonya, 26.11.2017 в 18:27.
				
				
			
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				26.11.2017, 18:21
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 Профессор 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 14.01.2015 
					
					
					
						Сообщений: 12,989
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		
	
 
	| 
		
			Сообщение от Sonya
			
		
	 | 
 
	| 
		не один раз встречала именно анимацию в формате jpg
	 | 
 
	
 
 Такой анимации нет, нет поддержки. Можно посредством JS устроить анимацию из нескольких jpeg изображений, либо спрайт таких изображений со встроенным SVG, который и занимается анимацией. Понятное дело, что попадись вам такой, GD его не откроет корректно, а если и сможет, то не сохранит.  
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				26.11.2017, 18:26
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 Профессор 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 07.07.2016 
					
					
					
						Сообщений: 281
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	| 
	
	
		
		
		
		
		 Да, и хостинг поддерживает ImageMagick, код от этого меняется? 
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				26.11.2017, 18:33
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 Профессор 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 14.01.2015 
					
					
					
						Сообщений: 12,989
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		
	
 
	| 
		
			Сообщение от Sonya
			
		
	 | 
 
	| 
		Я так понимаю теперь все вшивки в exif, будут отсечены
	 | 
 
	
 
 Да, сохранится чистый ресурс, хотя при наличии exif их можно прочесть. Проверьте.
 
	
 
	| 
		
			Сообщение от Sonya
			
		
	 | 
 
	| 
		а изменением размера можно уничтожить и в теле картинке?
	 | 
 
	
 
 Да. При выводе на экран изображений посредством GD, в случае предупреждений/ошибок в браузер будут выведено не изображение, а его бинарные данные. На это и расчет такого встраивания - запуск РНР кода встроенного в тело изображения. Для этого еще надо постараться, но ...
 
	
 
	| 
		
			Сообщение от Sonya
			
		
	 | 
 
	| 
		Но если размер изображения равен необходимому, можно это сделать двойным ресайзом, например, сначала увеличить на несколько пикселей, а потом вернуть к исходному.
	 | 
 
	
 
 Я не знаю чего вы сохраняете и насколько требования к размерам, но конечно можно изменить, затем опять изменить.  
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				26.11.2017, 18:38
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 Профессор 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 14.01.2015 
					
					
					
						Сообщений: 12,989
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		
	
 
	| 
		
			Сообщение от Sonya
			
		
	 | 
 
	| 
		Да, и хостинг поддерживает ImageMagick, код от этого меняется?
	 | 
 
	
 
 Конечно код будет иной. Причем API для работы с ImageMagick есть как расширение (во многом пока экспериментальное), но не поставляется вместе с РНР. Как у вас на хосте сказать не могу. Если нет поддержки со стороны РНР, то значит из командной строки запуск будет.
 
С GD просто проще, но она и более прожорлива и уступает во многом ImageMagick, хотя для вашей задачи вполне хватит.  
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				26.11.2017, 18:41
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 Профессор 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 07.07.2016 
					
					
					
						Сообщений: 281
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		
	
 
	
		
			Сообщение от laimas
			 
		
	 | 
 
	| 
		Я не знаю чего вы сохраняете и насколько требования к размерам, но конечно можно изменить, затем опять изменить.
	 | 
 
	
 
 Размер анимации 100х100, например, пользователь загружает её, я увеличиваю до 101х101, потом возвращаю к размеру 100х100 (будет незначительная потеря качества), таким образом я удалю вредоносный код из тела картинки?  
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				26.11.2017, 19:04
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 Профессор 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 14.01.2015 
					
					
					
						Сообщений: 12,989
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		
	
 
	| 
		
			Сообщение от Sonya
			
		
	 | 
 
	| 
		пользователь загружает её, я увеличиваю до 101х101, потом возвращаю к размеру 100х100
	 | 
 
	
 
 Не получится - GD не работает с GIF анимацией, exif в данном файле нет, встраивать что-то в тело не имеет смысла, у данного типа сложный заголовок и не одна секция описания. Менять размеры не надо - проверили палитру - индексированная, значит просто сохраняем file_put_contents(...);  
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				26.11.2017, 19:06
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 Кандидат Javascript-наук 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 04.11.2017 
					
					
					
						Сообщений: 117
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	| 
	
	
		
		
		
		
		 дадите ссылочку на ваше творение, хочется помотреть как не будет грузить сервер 
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				26.11.2017, 19:14
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 Профессор 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 07.07.2016 
					
					
					
						Сообщений: 281
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	| 
	
	
		
		
		
		
		 laimas, спасибо. 
Lion777, пока некондиция. 
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				27.11.2017, 06:08
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 Профессор 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 14.01.2015 
					
					
					
						Сообщений: 12,989
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	| 
	
	
		
		
		
		
		 Sonya, 
 сохранение в GIF, тоже некорректно: 
 
file_put_contents('path/name.jpg', $f); //сохранение GIF/PNG8 -> GIF 
 
Если исходное, это GIF, то все будет нормально, если же PNG8, то нет. Нужно дополнительно здесь проверять тип изображения и сохранять под соответствующим расширением. 
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
 
 
 
 
 
	 | 
 
 
 |