"PHP" / Говнокод #5671 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  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 GhOsTMZ, (Updated )

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

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

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

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

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

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

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

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

Семь раз отмерь — один отрежь, guest!

    А не использовать ли нам bbcode?


    8