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

Тема в разделе "PHP", создана пользователем Evgen_XXX, 17 июн 2008.

Статус темы:
Закрыта.
Модераторы: latteo
  1. Evgen_XXX

    Evgen_XXX Создатель

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

    Jeurey

    Регистр.:
    13 сен 2006
    Сообщения:
    419
    Симпатии:
    576
    Простейший случай - сериализация массива с данными. И десериализация при чтении...

    Ну и монтируем в шаблон, соответственно ;)
     
  3. netwom

    netwom Создатель

    Регистр.:
    14 июн 2008
    Сообщения:
    27
    Симпатии:
    2
    Чтобы не запутаться в назначениях полей, по-моему, лучше в XML хранить. А читать и обновлять удобно через DomDocument.
     
  4. denover

    denover Постоялец

    Регистр.:
    5 июн 2008
    Сообщения:
    56
    Симпатии:
    7
    Посмотри функцию parse_ini_file.
    http://www.php.net/parse_ini_file
     
  5. General Fizz

    General Fizz Боевой Генерал :)

    Регистр.:
    11 апр 2007
    Сообщения:
    753
    Симпатии:
    396
    Чтоб не запутаться в назначении полей, можно данные записывать в ассоциативный массив, где названия ключей=названиям настроек и потом сериализовать.

    ХМЛ по скорости сильно отстает от сериализации, как впрочем и все остальное.
     
  6. Evgen_XXX

    Evgen_XXX Создатель

    Регистр.:
    8 май 2008
    Сообщения:
    12
    Симпатии:
    1
  7. DenisK

    DenisK

    Регистр.:
    8 фев 2007
    Сообщения:
    205
    Симпатии:
    13
    А вы посмотрите, что делают ф-ии
    serialize($var1);
    unserialize($var1);

    и вам станет понятна идея
     
  8. picasik

    picasik Постоялец

    Регистр.:
    13 ноя 2006
    Сообщения:
    81
    Симпатии:
    21
    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);
    }
     
Статус темы:
Закрыта.