[英]How do i use PHP to edit a variable in another PHP script?
我目前正在制作基本的PHP应用程序/页面,但是,我遇到了一个问题。 我需要制作一个脚本,该脚本将在另一个脚本中编辑变量并将其设置为某些变量。
例如,一个脚本会说:
$test = "username";
而另一个脚本会将该变量设置为其他变量。
因此,一旦PHP脚本的(index.php)页面加载完毕,PHP脚本会将第一个脚本(variables.php)更改为:
$test = "username20";
但是,我不知道该怎么做。 有什么办法可以做到这一点?
编辑:
我需要一个像这样的基本自动编辑器,因为该文件是配置文件(因此,基本上,我需要其中的文本永久存在,这意味着“会话”将不起作用。)。
谢谢您的帮助。
更好地使用会话变量。 加载会话后,它们在所有PHP脚本中均有效。
您应该使用fopen打开文件,使用fread读取文件以搜索所需的变量,然后使用fwrite进行写入。
$fn = "variables.php";
$file = fopen($fn, "w+");
$size = filesize($fn);
$text = fread($file, $size);
fwrite($file, 'text');
fclose($file);
在我看来,您有几种选择。 如您所述,这将是一些配置文件,因此很可能您将具有几个不同的配置选项。 尽管在您的示例中,您将值分开了,但取一些集合更有意义。 而且您的配置文件可能如下所示:
<?php
$config = array(
'dbname' => 'my_awesome_db',
'dbhost' => 'localhost',
'dbuser' => 'notroot',
'dbpass' => 'secret',
);
使用PHP,您可以更改上述数组并将其写回到文件中:
<?php
require __DIR__ . '/config.php';
$config['dbhost'] = '10.1.0.1';
file_put_contents(__DIR__ . '/config.php', '<?php $config = ' . var_export($config, true) . ';');
另一种方法是使用JSON格式:
{
"foo": "bar",
"baz":"qux"
}
使用PHP,您可以更改上述JSON并将其写回到文件中:
<?php
$config = json_decode(file_get_contents(__DIR__ . '/config.php'), true);
$config['dbhost'] = '10.1.0.1';
file_put_contents(__DIR__ . '/config.php', json_encode($config, JSON_PRETTY_PRINT));
以上只是两个选择。 您也可以写入ini文件,数据库或您喜欢的任何格式。
一些注意事项:
相关读物:
演示:
这取决于您想要什么。 如果您仅为自己创建某种“控制面板”; 您可能希望对密码进行硬编码并使用会话/ cookie保持“登录”状态。
如果要多个人使用它,甚至是成员系统,则需要一个数据库。
有基于文本文件的数据库,但是我认为较小会更好。
更新:
您确实不能做到这一点,可以,但是这将是非常糟糕的做法。
如果您要编辑的内容不是敏感信息,则可以写入/读取/编辑常规文件(例如info.txt或info.dat)
另一个更新如果您坚持要编写.php变量,从技术上讲,您可以...
使用文件功能访问(例如:data.php)文件,您可以按字面意思写:$ user_password =“ blah”;
然后在主文件中包含data.php,然后将定义$ user_password。 如果要编辑,请使用文件功能来更新data.php文件。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.