我目前正在制作基本的PHP应用/页面,但是,我遇到了一个问题。我需要制作一个脚本,它将在另一个脚本中编辑变量并将其设置为某种形式。
例如,One脚本会说:
$test = "username";
另一个脚本会将该变量设置为其他内容。
因此,一旦加载了PHP脚本(index.php)页面,PHP脚本就会将第一个脚本(variables.php)更改为:
$test = "username20";
但是,我不知道该怎么做。有什么方法可以做到吗?
修改
我需要一个像这样的基本自动编辑器,因为该文件是一个配置文件(所以基本上,我需要内部的文本永久存在,这意味着"会话"将不起作用。)。
感谢您的帮助。
答案 0 :(得分:4)
更好地使用会话变量。它们在加载会话时在所有PHP脚本中都有效。
答案 1 :(得分:2)
您应该使用fopen打开文件,使用fread读取文件以搜索所需变量 然后用fwrite写。
$fn = "variables.php";
$file = fopen($fn, "w+");
$size = filesize($fn);
$text = fread($file, $size);
fwrite($file, 'text');
fclose($file);
答案 2 :(得分:2)
我认为你有几种选择。正如您所说,这将是一些配置文件,因此您很可能会有几个不同的配置选项。虽然在你的例子中你有分离的值imho,但更有意义的是有一些集合。你配置文件可能看起来如下:
<?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文件,数据库或任何您喜欢的格式。
但有些注意事项:
相关读物:
flock
— Portable advisory file locking parse_ini_file
— Parse a configuration file json_encode
— Returns the JSON representation of a value var_export
— Outputs or returns a parsable string representation of a variable 演示:
答案 3 :(得分:-2)
这取决于你想要什么。如果你正在创建某种&#34;控制面板&#34;只为你自己;你想要硬编码密码并使用会话/ cookie来保持&#34;登录。&#34;
如果您希望多人使用它,即使是成员系统,您也需要一个数据库。
有基于文本文件的数据库,但我认为较小的数据库会更好。
更新:
你真的可以这样做,嗯,你可以,但这将是一个非常糟糕的做法。
如果您想要编辑的内容不是敏感信息,您可以编写/读取/编辑常规文件(如info.txt或info.dat)
另一次更新 如果你坚持写一个.php变量,你在技术上可以......
使用文件函数访问(ex:data.php)文件,你可以写字: $ user_password =&#34; blah&#34 ;;
然后在主文件中包含data.php,并定义$ user_password。如果要编辑它,请使用文件函数更新data.php文件。