因此,我创建了一个使用htaccess保护的目录。问题是我希望SQL表中具有“ admin”用户类型的每个用户都能够使用其自定义登录信息。我已经进行了所有设置,以便应将用户名和加密密码写入.htpasswd文件(现在,我必须手动运行php脚本才能这样做,但是将来,我将使该过程自动化)。问题是我的脚本似乎无法将我的.htpasswd文件识别为现有文件。我尝试将文件移出受密码保护的目录(并相应地更改所有引用),但是它仍然不会注册文件的存在。
我不确定这是因为我做错了什么,还是php根本无法写入.htpasswd文件,或者介于两者之间。无论如何,我在大型计划中对php还是相当陌生,而且仅通过搜索文档和其他论坛帖子就找不到任何帮助,所以我转向了Stack Overflow。
//$password is already encrypted
if (!file_exists('/path/to/.htpasswd')) {
die('File does not exist');
} else {
$myfile = fopen('/path/to/.htpasswd') or die('There was a problem opening this file');
$string = file_get_contents('/path/to/.htpasswd') or die('There was a problem getting the contents of this file');
$string = explode("\n", $string);
if (in_array($username.":".$password, $string)) {
die('User already in .htpasswd file.');
} else {
fwrite($myfile, $username.":".$password."\n");
echo('Added user and password to file.');
}
}
非常感谢您的帮助。