![]() |
|
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]()
|
|
| Dima85 |
|
||||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 396 Регистрация: 19.7.2007 Репутация: нет Всего: нет |
Добрый день коллеги. Помогите пожалуйста разъяснить такую задачу.
Есть index.php который проверяет наличие языкового файла lang.txt Содержимое файла lang.txt
Если он есть берет надписи с файла, если он не обнаружен берет надписи с index.php Реализуется это так: файл index.php:
Это сообщение отредактировал(а) Dima85 - 22.2.2011, 14:33 |
||||
|
|||||
| ayax2005 |
|
|||
|
echo $smile ![]() ![]() Профиль Группа: Участник Сообщений: 516 Регистрация: 17.4.2008 Где: Питер Репутация: 2 Всего: 11 |
fopen
-------------------- все вопросы - из-за неверной формулировки задачи |
|||
|
||||
| patap |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 893 Регистрация: 7.5.2005 Где: Украина, Зп Репутация: 26 Всего: 40 |
почему бы просто не заинклудить с помошью include() ?
Добавлено через 1 минуту и 9 секунд ведь имя массива в файле lang.txt - всегда известно и является $lang? -------------------- На боку кобура болталась, сзади шашка отцовская звякала. Впереди меня все хохотало, а позади все плакало (с) |
|||
|
||||
| Dima85 |
|
||||||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 396 Регистрация: 19.7.2007 Репутация: нет Всего: нет |
Предлагаете сделать так? После этого появляется ошибка:
Тоесть если файла нету, он не должен пытается его загрузить, а он насколько я понимаю пытается это сделать. |
||||||
|
|||||||
| gta4kv |
|
||||
![]() Walking around mad. ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1868 Регистрация: 25.7.2006 Репутация: 21 Всего: 91 |
что это за код не нормальный?
вы пытаетесь загрузить файл, и если он не загружен - вы пытаетесь его заинклюдить. Добавлено через 1 минуту и 29 секунд Делаете файл lang.php:
а где надо:
|
||||
|
|||||
| ayax2005 |
|
|||
|
echo $smile ![]() ![]() Профиль Группа: Участник Сообщений: 516 Регистрация: 17.4.2008 Где: Питер Репутация: 2 Всего: 11 |
Инклудить txt? Круть. Надеюсь, php и apache настроены на обработку txt как php.
-------------------- все вопросы - из-за неверной формулировки задачи |
|||
|
||||
| Dima85 |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 396 Регистрация: 19.7.2007 Репутация: нет Всего: нет |
Если lang.php нету он должен работать с :
который находится в index.php На данный момент меня это интересует. |
|||
|
||||
| solenko |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1473 Регистрация: 15.1.2006 Где: Украина Репутация: 34 Всего: 67 |
Откройте для себя file_exists
-------------------- Ла-ла-ла-ла Заметьте, нет официального подтверждения, что это не просто четыре слога. |
|||
|
||||
| Gold Dragon |
|
|||
![]() Призрачный ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 6753 Регистрация: 1.3.2004 Где: Россия, Тамбов Репутация: 10 Всего: 71 |
а объясните мне зачем такой сложный механизм?
Если я делаю проект то делаю языковой файл на своём языке (ну или на андружитийском). Потом если используется альтернативный языковой файл то я просто где-то в настройках и подключаю его. Например, в отдельную директорию кидаю языковые файлы типа lang.ru.php lang.aj.php lang.en.php кому надо, то пусть просто закинет свой файл, а где-нибудь в настройках укажет язык типа
можно дополнительно проверить и наличие файла поумолчанию.. хотя если это часть скрипта, то он должен явно быть Это сообщение отредактировал(а) Gold Dragon - 25.2.2011, 09:38 -------------------- Нельзя жить в прошлом, оно уже прошло. Нельзя жить в будущем, оно ещё не наступило. Нужно жить в настоящем, помня прошлое и думая о будущем! |
|||
|
||||
| Gold Dragon |
|
||||||||
![]() Призрачный ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 6753 Регистрация: 1.3.2004 Где: Россия, Тамбов Репутация: 10 Всего: 71 |
хотя языковой файл я бы делал всё таки по другому... НУ это конечно всё относительно, но всё же...
первый вариант - вводить константы.. получится что-то типа
ну а использовать вообще просто
второй вариант - это через класс
использовать тоже просто...
третий вариант вообще использовать файл INI. Обработка файла чуть сложнее, но по сути тот же класс... Хотя наверное подход правильнее... минимум кода в файле Просто, моё мнение, языковой файл должен быть понятен и как можно меньше лишнего кода -------------------- Нельзя жить в прошлом, оно уже прошло. Нельзя жить в будущем, оно ещё не наступило. Нужно жить в настоящем, помня прошлое и думая о будущем! |
||||||||
|
|||||||||
| ayax2005 |
|
|||
|
echo $smile ![]() ![]() Профиль Группа: Участник Сообщений: 516 Регистрация: 17.4.2008 Где: Питер Репутация: 2 Всего: 11 |
А по мне так MVCL
-------------------- все вопросы - из-за неверной формулировки задачи |
|||
|
||||
| Gold Dragon |
|
|||
![]() Призрачный ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 6753 Регистрация: 1.3.2004 Где: Россия, Тамбов Репутация: 10 Всего: 71 |
ayax2005, а суть?
-------------------- Нельзя жить в прошлом, оно уже прошло. Нельзя жить в будущем, оно ещё не наступило. Нужно жить в настоящем, помня прошлое и думая о будущем! |
|||
|
||||
| Dima85 |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 396 Регистрация: 19.7.2007 Репутация: нет Всего: нет |
Остановился на такой конструкции:
Но есть проблема. Если найден файл lg.php, он грузит все оттуда и если в этом файле допустим нет строчки 'title' => 'Hello!', то он ее выводит пустой. Хотя в самом index.php в $lang=array( она есть. Почему так происходит? и подскажите пожалуйста как сделать если строчки нет в файле lg.php но она есть в index.php что б он ее выводил. Это сообщение отредактировал(а) Dima85 - 4.4.2011, 01:23 |
|||
|
||||
| Gold Dragon |
|
|||
![]() Призрачный ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 6753 Регистрация: 1.3.2004 Где: Россия, Тамбов Репутация: 10 Всего: 71 |
Это сообщение отредактировал(а) Gold Dragon - 4.4.2011, 07:35 -------------------- Нельзя жить в прошлом, оно уже прошло. Нельзя жить в будущем, оно ещё не наступило. Нужно жить в настоящем, помня прошлое и думая о будущем! |
|||
|
||||
| Dima85 |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 396 Регистрация: 19.7.2007 Репутация: нет Всего: нет |
Если таких классво несколько это нормально. Но если их более 50, каждый проверять таким способом это безумие. Возможно есть какое-то другое решение?
|
|||
|
||||
| Gold Dragon |
|
|||
![]() Призрачный ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 6753 Регистрация: 1.3.2004 Где: Россия, Тамбов Репутация: 10 Всего: 71 |
Dima85, если честно, я тебя не понимаю вообще... Что значит нет? Это языковой файл и там это должно быть.. Это тоже самое что стереть половину твоего index.php.. И почему ты оставил языковые переменные в основном файле? Зачем тогда подключение языковых?
Это вообще про что? Сделай нормальное подключение файлов и таких проблем не будет... -------------------- Нельзя жить в прошлом, оно уже прошло. Нельзя жить в будущем, оно ещё не наступило. Нужно жить в настоящем, помня прошлое и думая о будущем! |
|||
|
||||
![]()
|
| Правила форума "PHP" | |
|
|
Новичкам:
Важно:
Внимание:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | PHP: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |