Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #21 (permalink)  
Старый 26.11.2017, 15:29
Кандидат Javascript-наук
Отправить личное сообщение для Lion777 Посмотреть профиль Найти все сообщения от Lion777
 
Регистрация: 04.11.2017
Сообщений: 117

laimas, вы хотите сказать, что если подделают сигнатуру, то вы взломаете сайт ?
Ответить с цитированием
  #22 (permalink)  
Старый 26.11.2017, 15:30
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Lion777,
это ничем не отличается от getimagesize в плане обдурить.
Ответить с цитированием
  #23 (permalink)  
Старый 26.11.2017, 15:31
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Сообщение от Lion777
что если подделают сигнатуру, то вы взломаете сайт ?
Читайте тему еще раз, есть примечание и о взломе, что повторить еще раз? Речь идет о мусоре, это в первую очередь, и во вторую о возможных вставках.
Ответить с цитированием
  #24 (permalink)  
Старый 26.11.2017, 16:04
Кандидат Javascript-наук
Отправить личное сообщение для Lion777 Посмотреть профиль Найти все сообщения от Lion777
 
Регистрация: 04.11.2017
Сообщений: 117

Сервер не будут грузить такие осторожности ? )) Это так, чуть дальше от темы )), ведь об этом автор не спрашивал, ну у автора конечно то врятли, а вообще ?
Ответить с цитированием
  #25 (permalink)  
Старый 26.11.2017, 16:13
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Сообщение от Lion777
Сервер не будут грузить такие осторожности ?
Серверу вообще по барабану чего вы там грузите, ответственность полностью на разработчике. Это как сплошь и рядом при загрузке файла, проверяют то, что после точки, считая, что таким образом все проблемы решены. А то, что можно даже и не напрягаться в таком случае, а просто всякому мусору проставить расширения картинок, и сервер горе разработчика его схавает. Если и вы так будете считать, то и ваш сервер можно завалить мусором.
Ответить с цитированием
  #26 (permalink)  
Старый 26.11.2017, 16:34
Профессор
Отправить личное сообщение для Sonya Посмотреть профиль Найти все сообщения от Sonya
 
Регистрация: 07.07.2016
Сообщений: 281

Не получается. С самого начала, в этот код вставить,
if($im = imagecreatefromstring(file_get_contents('url'))) {

} else {

}

а главное как узнать "узнали палитру - если truecolor"?
И далее:
"В противном случае сохраняем как GIF - file_put_contents(скачанное посредством file_get_contents)."

<?php
$file = 'https://site.ru/img/image.gif';
$current = file_get_contents($file);
$current .= "imgage/1.gif";
file_put_contents($file, $current);
?>


так не получается, тогда как?
Ответить с цитированием
  #27 (permalink)  
Старый 26.11.2017, 17:10
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

if($f = @file_get_contents('https://site.ru/img/image.gif')) {
    if($im = imagecreatefromstring($f)) {
        //это изображение
        imageistruecolor($im) 
            ? imagejpeg($im, 'path/name.jpg', $quality) //сохранение JPEG/PNG -> JPEG
            : file_put_contents('path/name.jpg', $f); //сохранение GIF/PNG8 -> GIF
        imagedestroy($im);
    } else {
        //иначе мусор
    }
} else //ошибка загрузки
Ответить с цитированием
  #28 (permalink)  
Старый 26.11.2017, 17:24
Профессор
Отправить личное сообщение для Sonya Посмотреть профиль Найти все сообщения от Sonya
 
Регистрация: 07.07.2016
Сообщений: 281

laimas,
спасибо. А переменная $quality устанавливает качество изображения?
Ответить с цитированием
  #29 (permalink)  
Старый 26.11.2017, 17:28
Профессор
Отправить личное сообщение для Sonya Посмотреть профиль Найти все сообщения от Sonya
 
Регистрация: 07.07.2016
Сообщений: 281

Анимация сохранилась в формате jpg - name.jpg Причем работает, может оставить так?

Последний раз редактировалось Sonya, 26.11.2017 в 17:45.
Ответить с цитированием
  #30 (permalink)  
Старый 26.11.2017, 17:57
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Сообщение от Sonya
А переменная $quality устанавливает качество изображения?
Да, по умолчанию 75%, но можете указать свое, например чтобы уменьшить размер на выходе.

Сообщение от Sonya
Анимация сохранилась в формате jpg
JPEG формат не поддерживает анимацию, разберитесь что у вас сохранилось.


PS. Это file_put_contents('path/name.jpg', $f); //сохранение GIF/PNG8 -> GIF - результат моего копирования, а должно быть file_put_contents('path/name.gif', $f);

В зависимости от программы просмотра/браузера, не смотря на расширение ПО покажет анимацию так как опирается не на расширение файла, а на его заголовок.

Последний раз редактировалось laimas, 26.11.2017 в 18:08.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Удаление и копирование между страницами Medvedoc jQuery 8 12.08.2015 22:01
копирование текста из ячейки таблицы в textarea racoon Общие вопросы Javascript 5 22.07.2013 22:17
копирование файлов в обход ограничений безопасности danil2011 Internet Explorer 0 27.06.2011 07:43
Копирование блоков страницы(или целиком) Phoenix Общие вопросы Javascript 30 24.03.2008 23:46