Не удается найти файл php, когда он явно существует (защита htaccess) - PullRequest
0 голосов
/ 09 сентября 2018

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

Любая помощь очень ценится.

...