我有下面提到的代码(实际上,配置)写在一个文件(config.php)中,我想在另一个文件(check.php)中获取config.php中写的内容
用config.php编写的代码:
<?php
$CONFIG = array (
'id' => 'asd5646asdas',
'dbtype' => 'mysql',
'version' => '5.0.12',
);
用check.php编写的代码来获取内容:
$config_file_path = $_SERVER['DOCUMENT_ROOT'] . 'config.php';
$config = file_get_contents($config_file_path);
使用上面的代码我得到输出为字符串,我想将其转换为数组。为此,我尝试了以下代码。
$config = substr($config, 24, -5); // to remove the php starting tag and other un-neccesary things
$config = str_replace("'","",$config);
$config_array = explode("=>", $config);
使用上面的代码,我得到的输出如下:
Array
(
[0] => id
[1] => asd5646asdas,
dbtype
[2] => mysql,
version
[3] => 5.0.12
)
这是不正确的。
有没有办法将其转换为数组。我尝试过序列化()以及accessing array from another page in php中提到的但是没有成功。
对此有任何帮助将不胜感激。
答案 0 :(得分:3)
如果您这样做,我对您的方法感到非常困惑:
include(config.php);
然后您的$ CONFIG变量将在其他页面上可用。
print_r($CONFIG);
答案 1 :(得分:3)
您不需要file_get_contents
:
require_once 'config.php'
var_dump($CONFIG);
答案 2 :(得分:2)
使用include或require包含并执行该文件。区别在于文件不存在时会发生什么。 inlcude
会发出警告require
错误。
要确保在第一次使用include_once
,require_one
php.net时加载(并执行)该文件
如果你以某种方式无法包含该文件(有什么原因),请查看eval()
function从字符串执行php代码。但出于安全原因,这根本不是推荐!
require_once('config.php');
include_once('config.php');
require('config.php');
include('config.php');
答案 3 :(得分:1)
简单
include_file "config.php";
答案 4 :(得分:1)
你怎么能不读到require_once
指令? :)
$config = file_get_contents($config_file_path);
必须:
require_once $config_file_path;
// now you can use variables, classes and function from this file
var_dump($config);
如果您点击to the require_once
manual page链接,请另请阅读include
和include_once
。作为PHP开发人员,您必须了解这一点。这是基本的
答案 5 :(得分:1)
如果你使用codeigniter不需要包含配置文件,你可以使用$ this访问,但是如果你使用普通的php,你需要使用include()或require()或include_once()或require_once()