1. PHP / Говнокод #5310

    +165

    1. 1
    $ext = substr($fileName, strrpos($fileName, '.') + 1);

    Про pathinfo никто и не слышал видимо. Код написан недавно кем-то из команды)

    Запостил: anycolor, 18 Января 2011

    Комментарии (16) RSS

    • ога... а ещё вдруг .htaccess захавает...
      Ответить
    • как это мне знакомо ))))
      Ответить
    • Ну а где говно-то?!
      Ответить
      • есть же pathinfo, а это конструктор лего
        Ответить
      • говнокод в том, что данный код не всегда вернет то, что хотелось бы. Если имя файла без расширения, то код вернет имя файла начиная со второго символа.
        Ответить
        • без расширения считать расширением?
          Ответить
        • А pathinfo($fileName, PATHINFO_EXTENSION) вообще "ничего" (в кавычках, прошу заметить!) не вернет, если расширения нет. В любом случае нужна проверка:
          1) Либо strrpos($fileName, '.') !== false;
          2) Либо pathinfo($fileName, PATHINFO_EXTENSION) != false
          В чем же тогда разница, если тут одна строчка кода всего?!
          Ответить
          • тут суть не в том, кто и что вернет, а в том, что для данной операции есть встроенная функция языка.

            Еще бы через explode делали определение расширения или по отрезанию послених двух-трех символов)
            Ответить
            • Суть в том, что этот код не является говном. Если я у картинки переименую расширение c .png на .txt файл тоже свой MIME type не потеряет, зато есть встроенная функция языка... bla bla bla
              Ответить
              • >>Если я у картинки переименую расширение c .png на .txt файл тоже свой MIME type не потеряет
                щито?))
                Ответить
              • причем тут вообще MIME type вы тут приплели?
                Ответить
          • вернуть ничего -- это правильное поведение
            потому что расширения нет

            вернуть имя после второго символа (текущую дату, подключение к базе данных, телефон анджелы джоли) -- неправильное поведение для функции получения расширения.

            есть такое правило: поведение функции должно быть логичным.

            даже в пхп.
            Ответить
    • См. 7-й коммент. Такое чувство, что я со стенкой в теннис играю... Вы походу оба на своей "волне"...
      Ответить
      • ну или вы
        Ответить
      • очень трудно в одном посту объяснить почему писать красивый код лучше, чем писать говеный

        мы бессильны, увы
        Ответить

    Добавить комментарий