На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
Модераторы: Serafim, fatalist
  
    > Работа с файлами в PHP , Как узнать расширение файла
      Здравствуйте, уважаемые!...
      У меня такой вопрос: как программно узнать расширение файла- мне необходимо написать скрипт, который будет закачивать картинки на сервер. Есть ли в PHP такая функция?
      А также интересно, есть ли альтернативные методы узнать тип файла, не только по его расширению, а каким-то другим способом?
      Заранее огромное спасибо!
        Если тебе надо проверить, на то, является-ли файл картинкой, то можно ипсользовать такой код:
        ExpandedWrap disabled
           
          <?php
           
          if (exif_imagetype("image.gif") != IMAGETYPE_GIF) {
              echo "The picture is not a gif";
          }
           
          ?>


        Цитата из мана
        Цитата

        exif_imagetype
        (PHP 4 >= 4.3.0, PHP 5)

        exif_imagetype -- Determine the type of an image
        Description
        int exif_imagetype ( string filename)


        exif_imagetype() reads the first bytes of an image and checks its signature. When a correct signature is found a constant will be returned otherwise the return value is FALSE. The return value is the same value that getimagesize() returns in index 2 but this function is much faster.


        Узнать разширения файла можно просто:
        ExpandedWrap disabled
           
          $file = '/mnt/win_c/autoexec.bat';
          $parts = explode('.', $file);
          $ext = $parts[count($parts) - 1];
        Сообщение отредактировано: Rom@nych -
          Это можно осуществить при помощи Form based file upload
          А вообще посмотри здесь:
          PHP: Загрузка файла на сервер
            Argentum, ИМХО ты не прав. Ибо человек не спрашивал, как закачать файл, а спрашивал как определить его тип. Ничто не мешает человеку exe переименовать gif и будет послан MIME-тип файла: image/gif !!! Приведённая мною ф-ция смотрит не на расширение файла, а на его заголовок.
              http://detail.phpclub.net/article/upload


              Manual - Image Functions

              array getimagesize ( string filename [, array imageinfo])
                Тип загружаемого файла следует брать из переменной $_FILES['userfile']['type'], она для этой цели и задается.

                А вообще, в PHP есть функция filetype(), которая работает с любыми файлами, а не только с картинками.

                Вот некоторые MIME-типы, которые тебя интересуют:
                Цитата
                image/gif
                image/jpeg
                image/png

                С этими значениями тебе и надо сравнивать $_FILES['userfile']['type'].
                Сообщение отредактировано: Trustmaster -
                  Всем большое спасибо! :)
                  0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
                  0 пользователей:


                  Рейтинг@Mail.ru
                  [ Script execution time: 0,0249 ]   [ 15 queries used ]   [ Generated: 1.05.24, 07:16 GMT ]