Итак, я создал каталог, который я защищал с помощью 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.');
}
}
Любая помощь очень ценится.