如何使用file()php从wp-config.php获取DB信息


how would I get DB info from wp-config.php using file() PHP

我正在进行一个项目,该项目涉及在WP使用的同一DB中创建EXTRA表。

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

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

我已经深入研究了file()函数,但不能很好地理解它。

有人能发布一个示例代码来从php文件中获得这样的常量变量吗:

wp-config.php:

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

我需要得到这些变量,来处理DB方面的事情。

这不是一个优雅的解决方案,但如果您真的需要使用文件读取操作,可以像这样使用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

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