如何跨两个文件访问变量

时间:2013-09-03 09:42:21

标签: php global-variables static-variables file-access

我有三个文件 - global.php, test.phptest1.php

Global.php

$filename;
$filename = "test";

test.php的

$filename = "myfile.jpg";
echo $filename;

test1.php

echo $filename;

我可以通过测试和test1文件读取此变量 include 'global.php';

现在我想在$filename中设置test.php的值,并在test1.php.

中设置相同的值

我尝试了会话变量,但由于两个不同的文件,我无法捕获变量。

如何实现这一点........

提前感谢您的帮助.....

4 个答案:

答案 0 :(得分:6)

使用:

global.php

<?php
if(!session_id()) session_start();
$filename = "test";
if(!isset($_SESSION['filename'])) {
    $_SESSION['filename'] = $filename;
}
?>

test.php的

<?php
if(!session_id()) session_start();
//include("global.php");
$_SESSION['filename'] = "new value";
?>

test1.php

<?php
if(!session_id()) session_start();
$filename = $_SESSION['filename'];
echo $filename; //output new value
?>

答案 1 :(得分:0)

首先,您在页面顶部开始会话。

将您的变量分配到您的会话中。

选中此项并自行尝试

test.php的

<?php
session_start(); // session start
include("global.php");
$filename = "myfile.jpg";
$_SESSION['samplename']=$filename ; // Session Set
?>

test1.php

<?php
session_start(); // session start
$getvalue = $_SESSION['samplename']; // session get
echo $getvalue;
?>

答案 2 :(得分:0)

很简单,您只需要在文件A中定义全局,并使用$ GLOBALS [&#39; varName&#39;];

进行访问

档案A: $文件名=&#34;的test.txt&#34 ;;

文件B: require_once&#39; fileA.php&#39;;

$ myVar的= $ GLOBALS [&#39;文件名&#39;];

答案 3 :(得分:0)

我认为最好的理解方式如下:
您有一个文件 index.php,其中定义了一些变量。

$indexVar = 'sometext';

该变量在所有 index.php 文件中可见。但就像函数一样,如果包含其他文件,则该变量将不可见,除非您指定此变量具有全局作用域。

您应该在新文件中重新定义此变量的范围,如下所示:

global $indexVar;

然后您就可以像在主文件中一样调用它来直接访问。您可以在两个文件中使用“echo”,index.php 和任何其他文件。