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

    +162

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    public static function create_folder ( $path, $rights = self::default_rights )
    	{
    		$result = true;
    		// Получаем список папок
    		$folders = explode( DIRECTORY_SEPARATOR, trim( self::get_absolute_path( $path ), DIRECTORY_SEPARATOR ) );
    		$exists = true;
    		// Ищем существующую папку
    		while ( $exists && sizeof( $folders ) )
    		{
    			$exists_folder[] = array_shift( $folders );
    			$exists = realpath( implode( DIRECTORY_SEPARATOR, $exists_folder ) );
    		}
    		if ( !file_exists( implode( DIRECTORY_SEPARATOR, $exists_folder ) ) )
    		{
    			array_unshift( $folders, array_pop( $exists_folder ) );
    		}
    		$parent = implode( DIRECTORY_SEPARATOR, $exists_folder );
    		unset( $exists_folder );
    		// поочередно создаем папки
    		foreach ( $folders as & $folder )
    		{
    			$parent .= DIRECTORY_SEPARATOR . $folder;
    			$result = mkdir( $parent, $rights );
    		}
    		clearstatcache( );
    		return $result;
    	}

    Вот что значит не знать про необязательный аргумент recursive у mkdir...

    Запостил: GhOsTMZ, 14 Февраля 2011

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

    • Вот что значит не знать про необязательный аргумент recursive у mkdir...
      в четверке его нет
      Ответить
      • А сейчас ее легко найти? Сейчас на некоторых хостингах стоит 5.3 и нужно просить, чтобы перенесли на сервер с 5.2, если она нужна...
        Ответить
        • >и нужно просить, чтобы перенесли на сервер с 5.2
          Нечего использовать deprecated функции в скриптах.
          Ответить
          • депрекейтед стало то, что в какой-то момент было нормой.
            Ответить
        • а зачем вам даунгрейд-то?
          Ответить
          • 5.3 имеет баквард инкомпатибилити, из-за которых некоторые старые скрипты сильно глючат или не пашут вовсе. Замечена любопытная закономерность: чем говнистее скрипт, тем меньше вероятность его жизнеспособности на 5.3. А уж как все соснут на грядущей шестёрке - это будет поистине эпично.
            Ответить
            • Это показатель того, что PHP становится лучше?
              Ответить
              • Коротко говоря - с какой стороны посмотреть.
                Ответить
              • нет, просто часть команды заматерела, начала считать себя программистами и покинула обреченный проект.
                на их место нарожали новых.
                Ответить
                • дембеля, ёптеть...
                  Ответить
                  • разброд и шатание продолжается. У них фичи то в одну сторону, то в другую. Вспомнить ту же чехарду с индексами строк, или с теми же неймспейсами.
                    А еще призывают апгрейдить платформу. При этом скрипт чувствует себя как на вулкане - упадет или не упадет?
                    Ответить
              • это значит что вместо старого говна в пхп появится новое говно, обратно не совместимое со старым говном
                Ответить
            • ну в принципе перенести можно многое, зависит от степени говнистости
              Ответить
        • программист должен был писать код, который самомодифицируется с выходом новой версии php?
          Ответить
          • Нет, я за то, что PHP 4 сейчас почти и не встретишь, следовательно и совместимость с ним не особо то и нужна...
            Ответить
            • зато есть скрипты написанные на пыхо4. И если не делаешь сайт с 0 то может оказаться что некоторые скрипты именно такие. вот и приходится писать с осторожностью.
              Ответить
              • если скрипт старый, то это как бы уже намек, что им уже не стоит пользоваться.
                а, учитывая, что это на пхп, вообще можно рассчитывать, что там внутри йобаннай стыд
                Ответить
                • К сожалению не всегда есть время и желание переписывать уже готовый скрипт.
                  Ответить
                  • а поставить PHP 4 религия не позволяет?
                    Ответить
                  • А было бы не плохо и переписать. В интерпретируемом языке создание костылей вместо готовой функции глупо, готовая функция как ни крути работает быстрее, нежели заменяющий ее костыль... Да и нужно идти в ногу со временем, а не сидеть на интерпретаторе, которому хз сколько лет
                    Ответить
                    • обычно не так уж много переписывать. Разве что глобалсы переделывать
                      Ответить
                      • Вы тут такую бадью развели, будто бы каждую неделю новая версия выходит.
                        Я уже вообще забыл, - когда это на серверах PHP 4 стоял.
                        Ответить
                        • багфиксы всякие не так уж редко. И бывает так, что эти мелочи портят жизнь
                          Ответить
              • да))) в мире пхп есть понятие "веб-сайт", который являет собой набор разрозненных скриптов

                в отличие от других платформ, где есть приложение с веб-интерфейсом
                Ответить
                • > в отличие от других платформ, где есть приложение с веб-интерфейсом
                  но не стоит воспринимать это, как руководство к действию и делать очередной index.php
                  Ответить
                  • да как же?
                    автор пхп так и написал: гибкость пхп в том, что он -- совокупность отдельных файлов

                    потому обычно в сайте на пхп 1024 файлика index.php а в папках типа "gostevaja_kinga"
                    Ответить
                    • А Вы как всегда все утрируете ну да файлов много и вложеность бывает не малая. Ну нету средств я зыка для возможности создания пакетов как скажем в яве. Может к 6 версии будет.
                      Ответить
                      • отдельные кулибины всё-таки не сдаются...
                        http://www.govnokod.ru/5677
                        Ответить
                • Нормальные люди пользуются реврайтом, switch'ем и include/require.
                  Ответить
                  • Hормальные люди избегают php.
                    Ответить
                  • >>switch'ем и include/require.
                    тоесть если у Вас 145 урлов то у Вас есть index.php где 145 кейсов?
                    Ответить
                    • 145 урлов, которые должны выполнять кардинально разные операции и которые невозможно будет стандартизировать? В веб-разработке?
                      Ну я вас умоляю.
                      Ответить
                      • >> В веб-разработке
                        знаете чем программист отличается от веб-разработчика?
                        программист пишет программы (пусть даже и с веб-интерфейсом)
                        а веб-разработчик занимается веб-разработкой
                        Ответить
                        • То есть по вашему 145 exeшников лучше 1?
                          Ответить
                          • ну, юниксоиды например так считают)))

                            я считаю что лучше конечно 1 файл и внятный маппинг в нем, позволяющий найти нужный контроллер по урлу

                            без всякого свича
                            Ответить
                            • А на чем можно реализовать приложение, чтобы был 1 файл? Более менее крупный проект, написанный даже на компилируемом языке, состоит гораздо более чем из 1 файла. А что тут говорить об интерпретируемом языке? Спору нет, можно все запихнуть в 1 файл, но будет ли это удобно в будущем, когда будет необходимость что-то изменить?
                              Ответить
                              • ))))одна точка входа
                                а так конечно один модуль (или один класс) -- один файл.

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

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