从生成的php文件中获取数组

时间:2017-05-26 12:12:22

标签: php

我目前正在生成config.php文件,其中包含数组w用户详细信息,但是我在将数组恢复出来以在页面上使用时出现问题,config.php看起来像这样

Array
(
 [DBLocation] => localhost
 [DBName] => name
 [DBUsername] => name
 [DBPassword] => 123456
)

我以后如何使用此数组?

2 个答案:

答案 0 :(得分:3)

转换您的config.php文件,如下所示: -

<?php
  $arr = Array
  (
     'DBLocation' => 'localhost',
     'DBName' => 'TAK14_Ostermann',
     'DBUsername' => 'TAK14_Ostermann',
     'DBPassword' => '123456'
  );
?>

现在将此文件包含在其他代码中,其代码为: - include 'config.php'并使用$arr变量。

注意:

最好在文件(config.php)本身中执行完整的配置代码并创建数据库连接对象。现在通过包含该文件来使用该对象。 它将删除每个页面中的数据库连接代码冗余。

答案 1 :(得分:0)

如果您发布的数组是config.php文件的确切内容,则表示您没有以正确的方式生成它。

发布的“数组”是print_r()输出的内容。正如文档所说:

  

print_r - 打印有关变量的人类可读信息。

这里的关键是“人类可读”。 print_r()的目的是产生一个程序员易于阅读和理解的输出。它是一个调试函数,不应在生产代码中使用。

生成config.php内容所需的功能是var_export()。它生成正确的PHP代码,并且专门为此目的而制作。

假设您的配置数据存储在$config数组中,生成config.php的代码应如下所示:

file_put_contents('config.php', '<?php return '.var_export($config, TRUE).";\n");

生成的config.php文件如下所示:

<?php return array (
  'DBLocation' => 'localhost',
  'DBName' => 'name',
  'DBUsername' => 'name',
  'DBPassword' => '123456',
);

要加载配置,请使用include

$config = include 'config.php';