如何使用file()PHP从wp-config.php获取数据库信息

时间:2012-01-25 18:11:32

标签: php wordpress file

我正在开发一个涉及在WP使用的同一个数据库中创建EXTRA表的项目。

之前,我只是简单地包含了wp-config.php来获取信息,但现在我在应用程序的部分内容中使用它时遇到了困难,这些内容是在OUTSIDE wordpress上执行的。

在Wordpress.Stackexchange上发布问题后,一位用户建议我使用file()函数从wp-config.php获取信息。

我已经找到了文件()功能,但是不能理解它。

有人可以发布一个示例代码,从php文件中获取这样的常量变量:

WP-config.php中:

define('DB_HOST','host');
define('DB_user','user');
define('DB_pass','password');

我需要获取这些变量,以便在数据库方面工作。

2 个答案:

答案 0 :(得分:1)

您应该只能在外部文件中使用php的include()功能。然后将执行WordPress配置文件中的代码,该代码将使用php的define()函数,设置这些PHP常量变量。然后,您可以使用它们连接到数据库。

答案 1 :(得分:1)

这不是一个优雅的解决方案,但如果你真的需要使用文件读取操作,你可以使用这样的preg_match

$f = '/path/to/file';
$c = file_get_contents($f);

preg_match('/define.*DB_NAME.*\'(.*)\'/', $c, $m);
$dbname = $m[1];

preg_match('/define.*DB_USER.*\'(.*)\'/', $c, $m);
$dbuser = $m[1];

preg_match('/define.*DB_PASSWORD.*\'(.*)\'/', $c, $m);
$dbpass = $m[1];

preg_match('/define.*DB_HOST.*\'(.*)\'/', $c, $m);
$dbhost = $m[1];

echo $dbname, $dbuser, $dbpass, $dbhost