14

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

全局.php

$filename;
$filename = "test";

测试.php

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

test1.php

echo $filename;

我可以从 test 和 test1 文件中读取这个变量 include 'global.php';

现在我想设置$filenameintest.php的值和我想读入的相同值test1.php.

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

如何实现这个......

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

4

3 回答 3

10

利用:

全局.php

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

测试.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
?>
于 2013-09-03T09:55:33.583 回答
1

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

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

检查一下并自己尝试

测试.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;
?>
于 2013-09-03T09:49:56.347 回答
1

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

$indexVar = 'sometext';

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

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

global $indexVar;

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

于 2021-03-17T10:21:35.583 回答