За последние 24 часа нас посетили 21894 программиста и 988 роботов. Сейчас ищут 608 программистов ...

$_FILES проверить тип файла

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

  1. TROODON

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

    С нами с:
    4 ноя 2007
    Сообщения:
    112
    Симпатии:
    0
    Как проверить тип файла передаваемого скрипту через массив POST?

    Нужно чтобы пропускал тока ZIP файлы...с картинками всё проще получалось =(
     
  2. Kreker

    Kreker Старожил

    С нами с:
    8 апр 2007
    Сообщения:
    5.433
    Симпатии:
    0
    $_FILES["formname"]["type"]
    substr с конца.
     
  3. TROODON

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

    С нами с:
    4 ноя 2007
    Сообщения:
    112
    Симпатии:
    0
    для рар/зип не работает(

    это просто обрезать оставив в конце 3 символа?
     
  4. Sergey89

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

    С нами с:
    4 янв 2007
    Сообщения:
    4.796
    Симпатии:
    0
    PHP:
    1. if (preg_match('/\.(zip|rar)$/i', $filename)) {
     
  5. topas

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

    С нами с:
    16 авг 2006
    Сообщения:
    2.258
    Симпатии:
    36
    Ребят, вы чего? Mime не в моде?
     
  6. Sergey89

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

    С нами с:
    4 янв 2007
    Сообщения:
    4.796
    Симпатии:
    0
    MIME зависит от браузера.
     
  7. topas

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

    С нами с:
    16 авг 2006
    Сообщения:
    2.258
    Симпатии:
    36
    Sergey89, угу, только не кажется ли Вам что мы говорим об ИЕ? И если пользователь в своей Opera или FF изменил Mime-таблицу, то не кажется ли Вам что он сам дурак?

    UPD> только не говорите мне что пользователь не может изменить расширение файла :)
     
  8. Sergey89

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

    С нами с:
    4 янв 2007
    Сообщения:
    4.796
    Симпатии:
    0
    Может. Только вот с миме несколько сложнее. Ибо по независящим от пользователя причинам, браузер может послать не те данные, что ожидает скрипт.
     
  9. topas

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

    С нами с:
    16 авг 2006
    Сообщения:
    2.258
    Симпатии:
    36
    Sergey89, будьте добры, поделитесь своей ссылкой, где описаны подобные проблемы
     
  10. Sergey89

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

    С нами с:
    4 янв 2007
    Сообщения:
    4.796
    Симпатии:
    0
    Ну за примером далеко ходить не надо. Тот же PNG. В FF это image/png в IE image/x-png. image/jpeg - image/pjpeg. Уже надо делать две проверки. Но откуда уверенность, что третий браузер не пришлёт что-то другое? :) Проверки по расширению достаточно.
     
  11. topas

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

    С нами с:
    16 авг 2006
    Сообщения:
    2.258
    Симпатии:
    36
    ретируюсь: чаще приходится MIME посылать нежели получать