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

    +38

    1. 1
    if (!file_exists($this->filePath)) fopen($this->filePath, 'r');

    норм чё

    Запостил: dizballanze, 19 Сентября 2012

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

    • если нет файла то создать. или нет?
      Ответить
      • Handle потеряли один, некрасиво. Есть touch.
        Ответить
      • 'r' не создаёт вроде. Так что это скорее "если нет файла то вылететь с ошибкой". Ну и да, handle потеряли.
        Ответить
      • Чтоб таким макаром его создать - надо было любую опцию кроме r/r+ тогда. А так получится просто E_WARNING, что нет такого файла... Единственный смысл, который я в этом вижу - это собственный error_handler который перебросит ошибку в Exception, который можно где-то выше обработать.
        Но странно почему его ручками тогда не кинуть, и что-то сомневаюсь что здесь такой случай. :)
        Ответить
        • А если есть такая папка, эффект тот же самый будет или исключение? (тогда мог бы быть вариант: проверить, что файл можно создать)
          Ответить
          • Зависит от системы. В винде получишь warning "Permission Denied", в *nix если в режимах только r - таки откроет. Правда, никогда не пытался читать что там. :)
            Ответить
            • В никсах вроде разрешение r на папке позволяет сделать листинг (открытие известного пути внутри каталога задаёт право x).
              Ответить
    • вывод - бессмысленное гуано
      Ответить
    • Если файл не существует, пытаемся его открыть с флагом readonly => бредятина, может описка, а может это из новых технологий :P
      p.s. http://php.net/manual/en/function.fopen.php
      Ответить
    • vanished
      Ответить

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