PHP配置文件读写
可能重复:PHP配置文件读写,php,configuration-files,Php,Configuration Files,可能重复: 好的,我有一个配置文件,其中包含一些我希望用户能够更改的信息。我已经考虑过将信息保存在MySQL表中,但这不是一个好主意,因为我在配置变量之后包含了我的数据库类,这会打乱我的代码结构。 知道如何读取/写入文件中的变量/特定行吗?这是我的全局配置文件。> error_reporting(E_ALL); /* The parameters used site-wide First set are Datbase parameters And second se
好的,我有一个配置文件,其中包含一些我希望用户能够更改的信息。我已经考虑过将信息保存在MySQL表中,但这不是一个好主意,因为我在配置变量之后包含了我的数据库类,这会打乱我的代码结构。
知道如何读取/写入文件中的变量/特定行吗?这是我的全局配置文件。>
error_reporting(E_ALL);
/*
The parameters used site-wide
First set are Datbase parameters
And second set are the salts used to generate strings
*/
$params['db']['host'] = 'localhost';
$params['db']['username'] = 'root';
$params['db']['password'] = 'waffliner';
$params['db']['db_name'] = 'habcms';
$params ['core']['salt1'] = "184962574320355793361124913390";
$params['core']['salt2'] = "13952134426315134482857516025";
$params['core']['timeout'] = "60 minutes";
try {
include_once("core.inc.php");
include_once("db.inc.php");
include_once("user.inc.php");
} catch(exception $e) {
echo $e->getMessage();
}
?>如果要这样做,需要将配置存储在非PHP文件中
例如,您可以将配置存储在一个.ini文件中,并使用读取它。如果您想这样做,您需要将配置存储在一个非PHP文件中 例如,您可以将配置存储在一个.ini文件中,并使用读取。♥ 这是你的 ♥ 这是你的
像wordpress和vbulletin这样的应用程序似乎可以通过编程将配置写入PHP文件,所以这是可能的。这对于高流量应用程序(每秒大于100个请求)可能是可取的——使用类似于APC的缓存,可以避免读取和解析每个请求的配置文件。不过,对于低流量的应用程序,最好使用
parse\u ini\u file()
保持简单。事实并非如此。OP没有理由不能使用普通的旧PHP数组来实现此目的。@Gordon,@Frank Farmer:当然可以,但是关于请求:“知道如何读取/写入变量/文件的特定行吗?”,.ini文件是最简单的方法。如果您想为此提出一些简单的PHP建议,请继续。@Matthieu有一个解决方案使用链接中的数组duplicate@Gordon:是的,但我不想成为修改var_export或serialize生成的PHP配置文件的人。没有可能的注释,没有格式。。。这与修改您编写的配置中的行不同。它正在修改原始生成的PHP文件的一部分。wordpress和vbulletin等应用程序似乎通过编程将配置写入PHP文件,因此这是可能的。这对于高流量应用程序(每秒大于100个请求)可能是可取的——使用类似于APC的缓存,可以避免读取和解析每个请求的配置文件。不过,对于低流量的应用程序,最好使用parse\u ini\u file()
保持简单。事实并非如此。OP没有理由不能使用普通的旧PHP数组来实现此目的。@Gordon,@Frank Farmer:当然可以,但是关于请求:“知道如何读取/写入变量/文件的特定行吗?”,.ini文件是最简单的方法。如果您想为此提出一些简单的PHP建议,请继续。@Matthieu有一个解决方案使用链接中的数组duplicate@Gordon:是的,但我不想成为修改var_export或serialize生成的PHP配置文件的人。没有可能的注释,没有格式。。。这与修改您编写的配置中的行不同。它正在修改一个原始生成的PHP文件的一部分。我可以问一下为什么投反对票吗?json是一种可能性;外观整洁且易于解析。请注意,默认情况下可以下载json文件-->如果json文件存储在documentroot中,任何猜测配置文件url的人都可以获得DB登录详细信息!我可以问一下为什么投反对票吗?json是一种可能性;外观整洁且易于解析。请注意,默认情况下可以下载json文件-->如果json文件存储在documentroot中,任何猜测配置文件url的人都可以获得DB登录详细信息!
{
"db": {
"host" : "localhost",
"username" : "root"
...
},
...
}