如何轻松更新另一个文件中的PHP数组

时间:2017-03-21 16:09:31

标签: php arrays

所以我有一个confg.php文件,其中包含如下配置详细信息:

$CONFIG = Array (
'APIKey' => 'xxxxxx',
'USERNAME' => 'admin',
'PASSWORD' => 'password',
);

我希望用户能够通过admin.php更新这些凭据,但我不确定如何通过其他文件更新数组,所以请帮助我。谢谢!

1 个答案:

答案 0 :(得分:0)

我认为你正在接近这个错误。我建议你创建一个名为config的数据库表,并在这里有APIKey,USERNAME和PASSWORD列。在admin.php中,您可以允许用户更新这些记录..

update settings_table set APIKEY='a', USERNAME='b', PASSWORD='c' where id=1

然后在您的前端,您可以查询此表以获取值..

$query = mysql_query("select * from settings_table where id=1", $connection);
$row = mysql_fetch_array($query, MYSQL_ASSOC);

$CONFIG = Array (
   'APIKey' => $row['APIKey'],
   'USERNAME' => $row['USERNAME'],
   'PASSWORD' => $row['PASSWORD'],
);

编辑:你不想使用MySQL

好的,您可以使用存储配置设置的文件来执行此操作。您应该将其放入非Web可访问的目录中。

因此,在您的admin.php文件中,您可以将详细信息写入文件:

$myFile = "/full/path/to/config.txt";
$fh = fopen($myFile, 'w') or die("can't open file");
$stringData = $_POST['APIKey'] . "\n";
$stringData = $_POST['USERNAME'] . "\n";
$stringData = $_POST['PASSWORD'] . "\n";
fclose($fh);

然后在你的前端你可以打开文件,拆分行然后构建你的$ CONFIG数组:

$data = file_get_contents("/full/path/to/config.txt");
$data = explode("\n", $data);

$CONFIG = Array (
   'APIKey' => $data[0],
   'USERNAME' => $data[1],
   'PASSWORD' => $data[2],
);