所以我更正了一个脚本,它使用config.ini连接到数据库和其他选项,但我有一个我创建的脚本,它是一个config.php并使用相同的数据库。我想从config.ini文件中提取变量(数据库主机/用户名/密码),并在config.php中读取它们。这可能吗?
答案 0 :(得分:0)
从你的问题&后来的评论我认为你可能想要从两个PHP脚本中读取一个ini文件。没有什么可以阻止你这样做,可以从两个脚本中读取文件,但我们不想重复每个脚本中的代码。
所以我建议你需要三个脚本,就像这些一样:
database.php // the original which is currently reading from config.ini
config.php // the new script which you also want to read the config.ini
readconfig.php // does the reading of the ini
readconfig.php
应该有一个公共函数,它可以执行以下操作:
public function ReadDbSettings($inifile, $host, $user, $password)
{
// do the mechanics of reading the ini, use your existing code which is working
// set the supplied parameters which values from the ini
$host = $ini_array['HOST'];
...
return TRUE; // the settings were read
}
就读取ini的实际机制而言,一个选项是使用parse_ini_file将内容读入数组。一个人为的例子:
$ini_array = parse_ini_file("my.ini");
if (empty($ini_array['IniSetting']))
{
$this->variable = 'defaultvalue';
}
else
{
$this->variable = $ini_array['IniSetting'];
}
答案 1 :(得分:0)
好吧,把我的脑袋从我的 * 中拉了出来之后,我就能弄清楚了!
这是我的config.php文件的样子:
<?
$ini_array = parse_ini_file('config.ini');
$host = $ini_array['database.params.host'];
$username = $ini_array['database.params.username'];
$password = $ini_array['database.params.password'];
$db_name = $ini_array['database.params.dbname'];
mysql_connect($host,$username,$password,$db_name) or die('Could not connect to MySQL');
mysql_select_db($db_name) or die ('could not open db'.mysql_error());
?>
它与奇妙的连接!