|
|
|
| Существует файл config.php
Там хранятся все основные параметры (подключение к бд, сообщения, количество того, пятого, десятого и тд) в таком формате:
$dbhos = 'localhost';
$dbuser = 'user';
...
$error_1 = 'Сайт временно недоступен';
|
Чтобы вручную не открывать этот файл, думаю сделать интерфейс в админке для редактирования этих настроек.
Но как это осуществить представляю плохо.
Может, есть какие-то примеры, чтобы подсмотреть?
Хотел в Джумле подсмотреть, а там все на ООП, я его пока не знаю. | |
|
|
|
|
|
|
|
для: neadekvat
(15.09.2009 в 19:04)
| | Была сходная тема http://www.softtime.ru/forum/read.php?id_forum=1&id_theme=15290, но это ущербный путь - очень сложно оперировать такими файлами, приходится интенсивно использовать регулярные выражения - если вы хотите редактировать его - лучше упростить формат файла. | |
|
|
|
|
|
|
|
для: cheops
(15.09.2009 в 19:14)
| | Например, какой формат? | |
|
|
|
|
|
|
|
для: neadekvat
(15.09.2009 в 19:17)
| | Например, csv-формат или ini-формат, для которых предусмотрены стандартные PHP-функции разбора и формирования содержимого. | |
|
|
|
|
|
|
|
для: cheops
(15.09.2009 в 19:24)
| | Спасибо, даже не встречал информацию об этом никогда.
Так, ну с помощью parse_ini_file я достану настройки
А как их туда записать? | |
|
|
|
|
|
|
|
для: neadekvat
(15.09.2009 в 19:30)
| | Это достаточно просто сделать обходя массив: первый уровень - секции, второй - значения. Если вызывает сложности - можно будет создать специальную функцию-обертку для сохранения ini-файла. | |
|
|
|
|
|
|
|
для: neadekvat
(15.09.2009 в 19:30)
| | Можно начать отталкиваться от следующего скрипта
<?php
// Получение файла
$arr = parse_ini_file("get.ini", true);
echo "<pre>";
print_r($arr);
echo "</pre>";
// Формируем содержимое массива
$content = "";
foreach($arr as $key => $value)
{
if(is_array($value))
{
$content .= "[$key]\r\n";
foreach($value as $key => $val)
{
$content .= "$key=$val\r\n";
}
}
}
echo "<pre>";
echo $content;
echo "</pre>";
// Записываем файл
file_put_contents("get1.ini", $content);
?>
|
| |
|
|
|
|
|
|
|
для: cheops
(15.09.2009 в 20:16)
| | Примерно понял, спасибо.
То есть каждый раз весь файл полностью перезаписывается, так?
В таком случаи комментарии там уже никак не оставить? | |
|
|
|
|
|
|
|
для: neadekvat
(15.09.2009 в 21:24)
| | В принципе можно обновлять данные так, чтобы комментарии оставались, но это это уже потребует отказа от parse_ini_file() и использование регулярных выражений. | |
|
|
|
|
|
|
|
для: cheops
(15.09.2009 в 21:32)
| | Круг замкнулся, как я понимаю.
Тогда проще (т.к. необходимо воздержаться от использования бд) использовать ini файл, а комментарии к переменной сделать отдельно, в документации, например. Ну, и перменные удобоваримо называть | |
|
|
|
|
|
|
|
для: neadekvat
(15.09.2009 в 21:42)
| | Можно посмотреть в сторону CSV-файлов - это что-то вроде XLS-таблицы, там вы можете зарезервировать произвольное количество столбцов на строку.
Можете даже в Excel создать такой файл и посмотреть как он устроен (это обычный текстовый файл). | |
|
|
|
|
|
|
|
для: cheops
(15.09.2009 в 21:43)
| | А не сложновато ли для простого кофига получится? | |
|
|
|
|
|
|
|
для: neadekvat
(15.09.2009 в 21:44)
| | Если в него не часто руками лазить будут, то нормально, если будут редакторы (не знакомые с его устройством), которые его захотят править вручуную, пожалуй соглашусь, сложновато. | |
|
|
|
|
|
|
|
для: cheops
(15.09.2009 в 21:46)
| | пока, пожалуй, на варианте с ini файлами остановлюсь, чтобы хотя бы для самого себя оставить шанс
PS если я правильно все сделал (сохранил с экселя в cvs файл), то там все предельно просто в плане идеи, но ручками капаться - глазки оставишь | |
|
|
|
|
|
|
|
для: neadekvat
(15.09.2009 в 21:42)
| | Одно неясно.
Почему необходимо воздержаться от применения БД? | |
|
|
|
|
|
|
|
для: Trianon
(15.09.2009 в 21:49)
| | Потому что не все понимают, как редактировать вручную через phpmyadmin
Некоторых так и прет нажать на красный крестик
Хотя создать табличку settings в бд вариант, наверное, более удобный | |
|
|
|
|
|
|
|
для: neadekvat
(15.09.2009 в 21:54)
| | Хм... можно свой интерфейс написать для таблицы - он пожалуй попроще файлового варианта с регулярными выражениями будет. А в phpMyAdmin непосвященным :) запретить ходить. | |
|
|
|
|
|
|
|
для: cheops
(15.09.2009 в 21:56)
| | Большенство заказчиков догадываются не лазить там, где им не надо
Но ведь у некоторых руки чешуться поковыряцо и сломать то, за что они сами платили %) От таких, пожалуй, спасет только двойной бекап, и что б о втором они даже не догадывались :о) | |
|
|
|