За последние 24 часа нас посетили 62106 программистов и 1680 роботов. Сейчас ищут 1289 программистов ...

Проверка на GIF/PNG/JPG

Тема в разделе "Обработка изображений средствами PHP", создана пользователем rs_ssh, 7 сен 2017.

  1. rs_ssh

    rs_ssh Активный пользователь

    С нами с:
    18 янв 2014
    Сообщения:
    220
    Симпатии:
    0
    Подскажите грамотную проверку на GIF/PNG/JPG, а то когда загружаешь PNG, получаем чёрный фон.
    PHP:
    1. if ($_FILES['filename']['type'] == 'image/gif')
    2. {
    3.     $image_data = imagecreatefromgif($image);
    4. }
    5. elseif ($_FILES['filename']['type'] == 'image/png')
    6. {
    7.     $image_data = imagecreatefrompng($image);
    8. }
    9. else
    10. {
    11.     $image_data = imagecreatefromjpeg($image);
    12. }
     
  2. mahmuzar

    mahmuzar Старожил

    С нами с:
    6 апр 2012
    Сообщения:
    4.631
    Симпатии:
    425
    Адрес:
    РД, г. Махачкала.
    @rs_ssh, вероятно поможет.
    PHP:
    1. If you're trying to load a translucent png-24 image but are finding an absence of transparency (like it's black), you need to enable alpha channel AND save the setting. I'm new to GD and it took me almost two hours to figure this out.
    2.  
    3. <?php
    4. $imgPng = imageCreateFromPng($strImagePath);
    5. imageAlphaBlending($imgPng, true);
    6. imageSaveAlpha($imgPng, true);
    7.  
    8. /* Output image to browser */
    9. header("Content-type: image/png");
    10. imagePng($imgPng);
    11. ?>
    http://php.net/imagecreatefrompng
     
  3. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.815
    Симпатии:
    1.332
    Адрес:
    Лень
  4. mahmuzar

    mahmuzar Старожил

    С нами с:
    6 апр 2012
    Сообщения:
    4.631
    Симпатии:
    425
    Адрес:
    РД, г. Махачкала.
    @rs_ssh, тебе это помогло?
     
  5. rs_ssh

    rs_ssh Активный пользователь

    С нами с:
    18 янв 2014
    Сообщения:
    220
    Симпатии:
    0
    Пробую найти решение чтобы в конечном итоге PNG/GIF конвертировались в JPG.
     
  6. mahmuzar

    mahmuzar Старожил

    С нами с:
    6 апр 2012
    Сообщения:
    4.631
    Симпатии:
    425
    Адрес:
    РД, г. Махачкала.
    @rs_ssh, значит решение выше не помогло. А можешь дать ссыль на картинку которая у тебя не обработалась?

    Решение выше мне помогло.

    А зачем конвертироовать?
     
  7. Алекс8

    Алекс8 Активный пользователь

    С нами с:
    18 май 2017
    Сообщения:
    1.730
    Симпатии:
    359
    в png обычно прозрачность.. если конвертировать в jpg она потеряется..
    в gif чаще всего анимация.. .если в jpg конвертировать - не будет анимации
    так что не горячись))
     
  8. Maputo

    Maputo Активный пользователь

    С нами с:
    30 июл 2015
    Сообщения:
    1.136
    Симпатии:
    173
    Я делаю так:
    PHP:
    1. private function create_from_file($img_file)
    2.     {
    3.         $type = exif_imagetype($img_file);
    4.         $imgNEW = FALSE;
    5.         switch ($type) {
    6.             case IMAGETYPE_JPEG:
    7.                 $imgNEW = imagecreatefromjpeg($img_file);
    8.                 break;
    9.             case IMAGETYPE_PNG:
    10.                 $imgNEW = imagecreatefrompng($img_file);
    11.                 break;
    12.             case IMAGETYPE_GIF:
    13.                 $imgNEW = imagecreatefromgif($img_file);
    14.                 break;
    15.         }
    16.         return $imgNEW;
    17.     }
    В Вашем случае ошибка может быть в имени $_FILES['filename'] или $image не содержит путь к файлу