Я делал сайт, который имеет систему user-account-loggin, основанную на доступе к файлам .txt в php. Первоначально я протестировал большую часть кода на бесплатном веб-хостинге и получил функционал системы user-account-loggin, но когда я попытался перенести его на свой личный веб-сервер apache, функциональность некоторых моих php-кодов, кажется, были потеряны, и я не уверен, почему. В частности, я сузил его до функции splfileobject (), не возвращающей значения для переменной $ passfile. Я пропускаю некоторую библиотеку php, которая необходима для этого? Когда я посмотрел его, он сказал, что php7.0 имеет функцию splfileobject () и другие связанные функции как часть стандартной библиотеки php.
Вот часть моего кода
<?php
$username = $_POST["username"];
$password = $_POST["password"];
$account = file('usernames.txt');
$accountfix = str_replace("\n", "", $account);
$filepoint = array_search($username, $accountfix);
if ($filepoint !== false) {
$passfile = new SplFileObject('passwords.txt', 'r+');
$passfile->seek($filepoint);
$potentialpass = str_replace("\n", "", $passfile);
// check password
if ($password === $potentialpass) {
$_SESSION["username"] = $username;
$_SESSION["password"] = $password;
$_SESSION["loggedin"] = true;
$_SESSION["filepoint"] = $filepoint;
print "Logged in succesfully!";
}
else{
print "Incorrect Password";
}
}
else {
print "Incorrect Username.";
}
?>
По какой-то причине открытие такого файла работает нормально.
$account = file('textfiles/usernames.txt');
Тем не менее, я хочу иметь возможность искать определенную точку в файле паролей, которая имеет данные, параллельные файлу имени пользователя, чтобы сократить время вычислений, и для этого пришлось использовать объект splfileobject.
Спасибо
Я исправил проблему, по-видимому. Веб-серверу нужно было дать разрешение на чтение и запись в .txt файлах. Я никогда не получал ошибок по этому поводу. Я смог дать ему разрешение сделать это с помощью следующих команд в терминале Linux.
sudo chown -R www-data /var/www
sudo chmod -R u=rwx /var/www
Большое спасибо beno1990 на ubuntuforums.org
Вот нить, на которой я нашел это,
https://ubuntuforums.org/showthread.php?t=1089334
Других решений пока нет …