За последние 24 часа нас посетили 106246 программистов и 3019 роботов. Сейчас ищет 1331 программист ...

Загрузка jpg, gif, png

Тема в разделе "PHP для новичков", создана пользователем bFree, 14 сен 2008.

  1. bFree

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

    С нами с:
    17 авг 2008
    Сообщения:
    81
    Симпатии:
    0
    Нужно сделать возможным загрузку на сервер файлов только этих форматов, как это осуществить?
    Пробывал через проверку расширения, но есть и четырехзначные расширения \=
    mime тоже не работает как надо \=
    можете подсказать алгоритм? ибо идей нет.
     
  2. neverlose

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

    С нами с:
    27 авг 2008
    Сообщения:
    1.112
    Симпатии:
    20
    по mime не советую делать проверку, т.к. его передаёт браузер и это можно "пожфальшивить", делай проверку по расширению
    PHP:
    1.  
    2. <?php
    3. $ext = explode('.', $_FILES['myfile']['name']);
    4. $ext = strtolower($ext[count($ext) - 1]));
    5. $allowTypes = array('jpg', 'jpeg', 'gif', 'png');
    6. if( !in_array($ext, $allowTypes))
    7.     die('Wrong file type!');
    8. // действия...
    9. ?>
    10.  
     
  3. Hight

    Hight Старожил
    Команда форума Модератор

    С нами с:
    5 мар 2006
    Сообщения:
    7.153
    Симпатии:
    0
    Адрес:
    из злой параллельной вселенной
    PHP:
    1. <?php
    2. function image_get_info($file = NULL)
    3. {
    4.     if(!is_file($file)) return false;
    5.  
    6.     if(!$data = getimagesize($file) or !$filesize = filesize($file)) return false;
    7.  
    8.     $extensions = array(1 => 'gif',     2 => 'jpg',
    9.                         3 => 'png',     4 => 'swf',
    10.                         5 => 'psd',     6 => 'bmp',
    11.                         7 => 'tiff',    8 => 'tiff',
    12.                         9 => 'jpc',     10 => 'jp2',
    13.                         11 => 'jpx',    12 => 'jb2',
    14.                         13 => 'swc',    14 => 'iff',
    15.                         15 => 'wbmp',   16 => 'xbmp');
    16.  
    17.     $result = array('width'     =>  $data[0],
    18.                     'height'    =>  $data[1],
    19.                     'extension' =>  $extensions[$data[2]],
    20.                     'size'      =>  $filesize,
    21.                     'mime'      =>  $data['mime']);
    22.  
    23.     return $result;
    24. }