如何在另一个文件的变量中将数据添加到数组?

时间:2018-09-07 11:39:31

标签: php arrays

我在config.php中具有以下变量和数组:

$user_password = array(
'admin' => 'phpass:!2a!09!0VacTRBCSGujva0D474.Ce3XI6hEjb80/4VTYKGF0LFx9sIY/BdA.',
'test' => 'phpass:!2a!09!WFA38xA3BBdT.5nJVVMmBOQVAkyuAC/RluiN0ekNPAr0w6d4YBZK2',
'test2' => 'phpass:!2a!09!ZiysPdYPcL3tKpUiVFZLlOVw.l/E4paN6LVDCrRNCsResNex1NUmK' 
);

我想从登录页面添加一个新用户,我该如何在config.php $user_password数组中添加新用户?

我不太确定如何开始。

我应该包含文件还是使用require_once然后编辑数组并在config.php中..?

EG:

if (isset($_REQUIRE['login-btn'])) {
	$username = $_REQUEST['user'];
	$passwd = $_REQUEST['passwd'];
    if (isset($username) && isset($passwd)) {
        //code to add user an passwd to the config variable $user_passwd array
    	}
}

1 个答案:

答案 0 :(得分:0)

当前的方法非常麻烦并且受到不必要的限制。您绝对应该将其切换为使用JSON,以便更轻松地进行操作和存储:

config.php

$user_password = json_decode(file_get_contents('/path/to/users.json'));

users.json

请勿将此文件放置在允许任何访问者下载的公开访问位置

{"admin":"phpass:!2a!09!0VacTRBCSGujva0D474.Ce3XI6hEjb80\/4VTYKGF0LFx9sIY\/BdA.","test":"phpass:!2a!09!WFA38xA3BBdT.5nJVVMmBOQVAkyuAC\/RluiN0ekNPAr0w6d4YBZK2","test2":"phpass:!2a!09!ZiysPdYPcL3tKpUiVFZLlOVw.l\/E4paN6LVDCrRNCsResNex1NUmK"}

添加新用户

$user_password[$username] = $passwd;
file_put_contents('/path/to/users.json', json_encode($user_password));

注意:

不使用数据库,这是处理当前情况的正确方法。但是,如果您开始获得成千上万的用户,则此方法只会变得越来越慢。