Сохранить настройки скрипта в файл

Статус
В этой теме нельзя размещать новые ответы.

Evgen_XXX

Создатель
Регистрация
8 Май 2008
Сообщения
12
Реакции
1
Подскажите пожалуйста как можно хранить настройки скрипта в файле, чтоб их можно было редактировать через веб-интерфейс.
Просто записывать в строки в файл в виде :
conf_name_1:conf_val_1
conf_name_2:conf_va_2,
а потом разбивать через explode
Или это как-то по другому реализуется?
 
Простейший случай - сериализация массива с данными. И десериализация при чтении...

Ну и монтируем в шаблон, соответственно ;)
 
Чтобы не запутаться в назначениях полей, по-моему, лучше в XML хранить. А читать и обновлять удобно через DomDocument.
 
Чтобы не запутаться в назначениях полей, по-моему, лучше в XML хранить. А читать и обновлять удобно через DomDocument.

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

ХМЛ по скорости сильно отстает от сериализации, как впрочем и все остальное.
 
Спасибо всем.
Сделал с помощью ini файла.
Для просмотра ссылки Войди или Зарегистрируйся

Пример с сериализацией можете скинуть
 
  • Заблокирован
  • #7
А вы посмотрите, что делают ф-ии
serialize($var1);
unserialize($var1);

и вам станет понятна идея
 
PHP:
function readConfig($configFileName) {
    if (!file_exists($configFileName)) {
        return array();
    }
     $f = fopen($configFileName, "r");
     $buf = array();
     $val = array();
     
     $i = 0;
     while (!feof($f)) {
         preg_match ("/^\s*(\S+)\s*:\s*(\S+)\s*$/", fgets($f), $val);
     if (count($val)>0) {
        $buf[$val[1]] = $val[2];
    }
     }
     
     fclose($f);
     return $buf;
}

function writeConfig($configFileName, $buf) {
    if (!is_writable($configFileName)) {
        return;
    }
                
    $f=fopen($configFileName, "w");
    $keys = array_keys($buf);
    foreach ($keys as $key) {
    fwrite($f, $key.":".$buf[$key]."\n");
    }
    fclose($f);
}
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху