<MyRusakov.ru />

Создание крупного проекта на Java с нуля

Создание крупного проекта на Java с нуля

Данный курс научит Вас создавать крупные проекты на Java грамотно и быстро. В курсе Вы увидите создание большой и сложной программы на Java абсолютно с нуля.

В начале курса у нас будет только идея, а в конце готовый продукт, который можно использовать в практических целях.

В рамках упражнений курса Вы параллельно со мной будете создавать свою большую программу на Java, что даст Вам необходимую практику, после которой для Вас уже не будет разницы, какого размера создавать программы.

Подробнее
Подписка

Подписавшись по E-mail, Вы будете получать уведомления о новых статьях.

Подписка Подписаться

Добавляйтесь ко мне в друзья ВКонтакте! Отзывы о сайте и обо мне оставляйте в моей группе.

Мой аккаунт Мой аккаунт Моя группа
Опрос

Каким движком Вы предпочитаете пользоваться?

Чтение INI-файла в PHP

Чтение INI-файла в PHP

INI-файлы - это обычные текстовые файлы, состоящие из определённых секций. Как правило, INI-файлы используются для сохранения определённых настроек, например, настроек языка. И, разумеется, чтобы наш сайт мог легко изменяться тем или иным образом, можно все параметры, отвечающие за это изменение, поместить в отдельный файл. И как быстро извлечь в PHP из этого файла все настройки мы и разберём в этой статье.

Для чтения INI-файла в PHP используется функция parse_ini_file(). Но прежде, чем её использовать, создадим INI-файл "settings.ini":

Par1=10
Par2=20

В этом файле мы описали два параметра и присвоили им определённые значения. А теперь создадим PHP-файл, в котором считаем данные из созданного файла с помощью функции parse_ini_file():

<?php
  $arr = parse_ini_file("settings.ini");
  print_r($arr);
?>

В результате, Вы увидите следующую строку: "Array ( [Par1] => 10 [Par2] => 20 )". Как видите, функция parse_ini_file() вернула массив с ключами в виде названия параметров и значениями в виде тех, что мы задавали в файле "settings.ini".

Теперь разберём пример из реальной практики. Сделаем одну страничку, которая будет выводить текст на языке, заданным GET-параметром. Для начала создадим INI-файл "lang_en.ini":

HELLO=Hello
WORLD=world

Теперь создадим PHP-скрипт:

<?php
  $lang = isset($_GET['lang'])? $_GET['lang']: "en";
  $langconst = parse_ini_file("lang_$lang.ini");
  echo $langconst['HELLO']." ".$langconst['WORLD']."!";
?>

Первой строкой мы проверяем: если был передан GET-параметр lang, то тогда считываем оттуда значение и записываем в переменную lang. А если никакого значения передано не было, то устанавливаем значение по умолчанию, в нашем случае: "en". Дальше мы обращаемся к файлу нужного языка и вытаскиваем оттуда данные. Затем уже просто выводим строку, используя полученные языковые константы. В результате, мы увидим: "Hello World!".

А теперь пришла пора доказать, почему это так удобно. Для того, чтобы добавить новый язык достаточно создать лишь ещё один файл, где перевести все языковые константы:

HELLO=Привет
WORLD=мир

Сохраните данный файл под названием "lang_ru.ini", и запустите скрипт: "адрес_скрипта.php?lang=ru". В результате, Вы увидите: "Привет мир!".

Как видите, мы создали лишь ещё один INI-файл, перевели константы на нужный язык и всё! Таким образом, Вы легко можете создать несколько языковых версий Вашего сайта, что смотрится очень здорово, а, главное, реализация этого достаточно простая.

Копирование материалов разрешается только с указанием автора (Михаил Русаков) и индексируемой прямой ссылкой на сайт (http://myrusakov.ru)!

Добавляйтесь ко мне в друзья ВКонтакте: http://vk.com/myrusakov.
Если Вы хотите дать оценку мне и моей работе, то напишите её в моей группе: http://vk.com/rusakovmy.

Если Вы не хотите пропустить новые материалы на сайте,
то Вы можете подписаться на обновления: Подписаться на обновления

Если у Вас остались какие-либо вопросы, либо у Вас есть желание высказаться по поводу этой статьи, то Вы можете оставить свой комментарий внизу страницы.

Порекомендуйте эту статью друзьям:

Если Вам понравился сайт, то разместите ссылку на него (у себя на сайте, на форуме, в контакте):

  1. Кнопка:

    Она выглядит вот так: Как создать свой сайт

  2. Текстовая ссылка:

    Она выглядит вот так: Как создать свой сайт

  3. BB-код ссылки для форумов (например, можете поставить её в подписи):

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

Tomas777 Tomas777 15.10.2012 10:23:25

Здравствуйте, Михаил. Спасибо Вам за Ваши стать по PHP - очень помогают в начале освоения этого языка. Конкретно к теме по парсингу ini-фала, а точнее, выбора языка: Данный скрипт я оформил в виде функции выбора языка и создал две ссылки-переключателя, RUS и ENG. Всё работает..в пределах 1-ой страницы. А вот при навигации по сайту опять вылазит "дефолтовый" язык. Вопрос: Как реализовать "наследственность" (не знаю как еще это назвать) языка для навигации. Чтоб не приходилось постоянно кликать на выбор языка при переходе на другую страницу сайта. Заранее благодарю за ответ-совет.

Ответить

Tomas777 Tomas777 15.10.2012 10:52:33

Добавлю для ясности приведу свой "ремейк"-скрипт: <?php function langsel ($t){ $lang = isset($_GET['lang'])? $_GET['lang']: "en"; $langconst = parse_ini_file("lang_$lang.ini"); echo $langconst[$t];} ?> а где нужно подставляю следующее: <?php langsel("CONT")?> <--в ini-файлах CONT=Контакты(Contacts)

Ответить

Admin Admin 15.10.2012 19:32:48

Попробуйте хранить значение выбранного языка в куки, и на каждой странице сверяться с ними.

Ответить

Tomas777 Tomas777 16.10.2012 09:18:53

Ок, спасибо. Попробую.

Ответить

Vangog Vangog 04.03.2013 19:42:22

В строке $langconst = parse_ini_file("lang_$lang.ini"); непонятно, что такое в кавычках - lang_$lang.ini

Ответить

Admin Admin 04.03.2013 21:22:21

Это имя файла, например, lang_ru.ini

Ответить

irin irin 07.04.2014 23:14:03

Получается весь контент сайта нужно переводить по слову? Это же коллосальная работа, а не проще ли параллельно создать несколько версий сайта и делать редирект с основной версии сайта с помощью header?

Ответить

Yunior Yunior 18.08.2014 19:09:48

что означает знак вопроса и двоеточие в строке $lang = isset($_GET['lang'])? $_GET['lang']: "en";

Ответить

adidag adidag 27.08.2014 20:10:33

Здравствуйте Михаил. Я только недавно начал учить PHP Я ввел скрип как на вашем примере: <?php $lang = isset($_GET['lang'])? $_GET['lang']: "en"; $langconst = parse_ini_file("lang_$lang.ini"); echo $langconst['HELLO']." ".$langconst['WORLD']."!"; ?> но у меня в браузере выходит только "world!" Объясните пожалуйста, что не так? или может Вы ощиблись при вводе скрипта?

Ответить

verstala verstala 07.10.2016 13:25:40

Михаил а возможна ли реализация чтения text.ini в tpl файлах?

Ответить

Для добавления комментариев надо войти в систему.
Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.