从另一个php文件更改php文件中的变量的最佳方法是什么?

时间:2014-07-07 14:32:57

标签: php variables

我要做的是从filea更改fileb中的变量。有点像在某种程度上使用fileb作为配置文件。

示例:

文件A:

require_once "fileb.php";

if($power == 'off') {
  exit;
}

if($test1 == 'one') {
  echo "The first option is selected";
} elseif($test1 == 'two') {
  $power = 'off';
}

文件B:

$power = 'on';

因此,在此示例中,用户ID提示输入$ test1,如果用“1”回复,则会得到回显。我想要做的就是这样做,如果他们用“两个”回复它会关闭页面,而不仅仅是为了他们而是为了每个人。我试图在不使用DB的情况下完成所有这些操作,这太容易了。谢谢你的帮助!

2 个答案:

答案 0 :(得分:1)

您的fileb缺少<?php ... ?>个标签。如果没有这些,你就可以编码&#34;永远不会被视为代码。它只是被视为纯文本。

文件b:

<?php

$power = 'on';

文件c:

Hello
<?php
$foo = 'world!';

提交a:

<?php

include('fileb.php');

echo $power;

include ('filec.php'); // "Hello" is immediately output
echo $foo; // tell PHP to put the $foo var, which will print out "world!"

答案 1 :(得分:1)

  

我试图在不使用数据库的情况下完成所有这些操作,这太简单了

使用数据库的原因很简单。这是完成此任务的正确方法。修改实际的PHP代码文件一个着名的坏主意。 (并且Stack Overflow上有人几乎每周一次,似乎。)

如果将文件作为执行代码的一部分包含在内,则可以将该变量用作其他任何变量。这允许您以瞬态方式操作变量,但不操纵创建变量的代码。

您尝试做的是持久更改了变量。为了做到这一点,需要在应用程序之外的某处编写。数据库真的对于那种事情是好的。您也可以写一个简单的文本文件(一串文本,结构化XML等),但在这种情况下,您必须手动注意并发写入和其他此类错误。 (数据库也非常擅长这一点,这使它们非常适合多线程/多用户应用程序,如Web应用程序。)

我认为你可以将PHP文件本身视为可编辑的文本文件,就像任何其他文件一样。 (因为PHP毕竟只是文本。)但是,再次,这是一个非常糟糕的主意。首先,完全解析出您想要的值并仅将更改写回该值将非常非常。此外,您还有可能会破坏被视为可执行代码的文件,这会带来各种潜在风险。

只需写入数据库,文件或应用程序之外的任何其他简单数据持久性介质。