以下是我的保存配置文件:
<?php
require_once 'Config/Lite.php';
$config = new Config_Lite();
$config->read('/var/www/html/svnmanager/Config/testing');
$config->set('/lol', 'user', 'JohnDoe')
->set('/lol', 'password', 'lemo')
->set('db2', 'user', '');
// set with ArrayAccess
$config['general'] = array('lang' => 'fr');
echo $config;
$config->save();
?>
以下是输出:
debug = ""
[db]
user = "JohnDoe"
password = "d0g1tcVs$HgIn1"
[db2]
user = ""
password = "d0g1tcVs$HgIn1"
[general]
lang = "fr"
[/lol]
user = "JohnDoe"
password = "ddada"
保存文件时如何删除双qoutes? 例如:
[/lol]
user = JohnDoe
password = ddada
答案 0 :(得分:1)
添加
$config->setQuoteStrings(false);
将其保存到文件
之前答案 1 :(得分:1)
我将开始咆哮:你总是更好地使用FLOSS库按照预期/记录而不是黑客攻击他们做你想做的事情,如果可能的话 - 即使代码是唯一的文件可用。例如,如果出现新版本的Config_Lite并且您升级到该版本,那么您将失去&#34;丢失&#34;你的修复。 (并且,好像要证明我的观点,版本0.2.0今天在http://pear.php.net/package/Config_Lite/download/0.2.0)
发布要更具体地回答您的问题, 您需要在使用write方法将.ini文件输出显式保存到文件之前调用setQuoteStrings方法,或者执行任何将$ config视为字符串值 。
通常情况下,我按此顺序执行操作:
<强> TL;博士强>:
$config = ....
$confg->setQuoteStrings(false);
$config->set(...);
echo $config;
$config->save();
答案 2 :(得分:0)
找到自己的解决方案。您需要将protected $quoteStrings = true;
文件中的protected $quoteStrings = false;
更改为Lite.php
:)