Php HTPASSWD自动

Php HTPASSWD自动,php,.htaccess,.htpasswd,Php,.htaccess,.htpasswd,快速提问。我为一家家族企业设置了一个考勤卡和PO系统。员工输入用户名和密码以进入系统。每次家里雇了人,尽管他们给我发了信息。我使用htpasswd生成器,打开文件,添加它,然后使用ftp重新上传。我妻子使用我设置的php页面将他们的信息输入数据库,我想知道是否有办法允许她使用txt字段,她可以将生成的pw复制并通过该字段进入htpasswd文件。不用我总是改变它 总而言之:是否有一个表单命令,当我输入txt字段并按下submit时,它会自动将txt放入htpasswd文件中,您需要创建一个php

快速提问。我为一家家族企业设置了一个考勤卡和PO系统。员工输入用户名和密码以进入系统。每次家里雇了人,尽管他们给我发了信息。我使用htpasswd生成器,打开文件,添加它,然后使用ftp重新上传。我妻子使用我设置的php页面将他们的信息输入数据库,我想知道是否有办法允许她使用txt字段,她可以将生成的pw复制并通过该字段进入htpasswd文件。不用我总是改变它


总而言之:是否有一个表单命令,当我输入txt字段并按下submit时,它会自动将txt放入htpasswd文件中,您需要创建一个php页面。有一个您需要的代码示例:

$username = $_POST['user'];
$password = $_POST['pass'];
$new_username = $_POST['newuser'];
$new_password = $_POST['newpass'];
$action = $_POST['action'];
//read the file into an array
$lines = explode("\n", file_get_contents('.htpasswd'));

//read the array and change the data if found
$new_file = "";
foreach($lines as $line)
{
    $line = preg_replace('/\s+/','',$line); // remove spaces
    if ($line) {
        list($user, $pass) = split(":", $line, 2);
        if ($user == $username) {
            if ($action == "password") {
                $new_file .= $user.':'.$new_password."\n";
            } else {
                $new_file .= $new_username.':'.$pass."\n";
            }
        } else {
            $new_file .= $user.':'.$pass."\n";
        }
    }
}

//save the information
$f=fopen(".htpasswd","w") or die("couldn't open the file");
fwrite($f,$new_file);
fclose($f);

这里还有一个例子。或者直接在上面查找。

感谢Nirk的编辑!: