PHP에서 .txt 파일에 액세스하는 것을 기반으로하는 사용자 계정 로그인 시스템이있는 웹 사이트를 만들고 있습니다. 나는 원래 무료 웹 호스팅 서비스에서 코드의 많은 부분을 테스트하고 사용자 계정 로그인 시스템 기능을 갖췄다.하지만 내 개인용 아파치 웹 서버로 이동하려고 시도했을 때, 내 PHP 코드의 일부 기능이 길을 잃어 버렸고 이유가 확실하지 않습니다. 특히, $ passfile 변수에 값을 반환하지 않는 splfileobject() 함수로 범위를 좁혔습니다. 이 작업을 수행하는 데 필요한 일부 PHP 라이브러리가 누락 되었습니까? 필자가 보았을 때, php7.0은 표준 PHP 라이브러리의 일부로 splfileobject()와 다른 연결된 함수를 가졌다 고 말했습니다.splfileobject가 우분투에서 작동하지 않습니다. 16.04 apache webserver with php7.0
여기 내 코드이 잘 작동 같은 파일을 여는 몇 가지 이유를 들어
<?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을 사용했다.
감사합니다