如何从另一个php页面读取数组

时间:2013-06-21 12:27:30

标签: php arrays file

我有下面提到的代码(实际上,配置)写在一个文件(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中提到的但是没有成功。

对此有任何帮助将不胜感激。

6 个答案:

答案 0 :(得分:3)

如果您这样做,我对您的方法感到非常困惑:

include(config.php);

然后您的$ CONFIG变量将在其他页面上可用。

print_r($CONFIG);

查看PHP website which documents the include function

答案 1 :(得分:3)

您不需要file_get_contents

require_once 'config.php'
var_dump($CONFIG);

答案 2 :(得分:2)

使用include或require包含并执行该文件。区别在于文件不存在时会发生什么。 inlcude会发出警告require错误。 要确保在第一次使用include_oncerequire_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链接,请另请阅读includeinclude_once。作为PHP开发人员,您必须了解这一点。这是基本的

答案 5 :(得分:1)

如果你使用codeigniter不需要包含配置文件,你可以使用$ this访问,但是如果你使用普通的php,你需要使用include()或require()或include_once()或require_once()