내가 다음과 같은 passwd에 파일을 읽기 위해 PHP 프로그램을 쓰고 있어요 : 여기PHP 코드에서 파일의 EOF가 작동하지 않는 이유는 무엇입니까?
1 misshary:x:1002:1003:Li Han,Li Han,,:/home/misshary:/bin/bash
2 testuser:x:1003:1004:test user,,,:/home/testuser:/bin/bash
을 그리고 나의 코드 :
$file = fopen("/path/passwd.bak", "r") or exit("Unable to open passwd file!");
while(!feof($file))
{
$user_line = fgets($file);
$user_array = explode(":", $user_line);
echo print_r($user_array)."</br>";
}
하지만 내가 가진 것은 :
Array ([0] => misshary [1] => x [2] => 1002 [3] => 1003 [4] => Li Han,Li Han,, [5] => /home/misshary [6] => /bin/bash) 1
Array ([0] => testuser [1] => x [2] => 1003 [3] => 1004 [4] => test user,,, [5] => /home/testuser [6] => /bin/bash) 1
Array ([0] =>) 1
왜 내가 여분의 배열을 얻었고 추가 배열을 얻었습니까 Array ([0] =>)
?
피씨 나는 왜 여분의 1이 뒤따라야하는지 이해한다. 내 질문은 배열이 인쇄 된 세입니다.
나는 1이 뒤 따르는 이유를 이해합니다. 제 질문은 왜 세 개의 배열이 인쇄되어있는 것입니까? – harryz
passwd 파일 맨 아래에 빈 줄이 있는지 확인 했습니까? – arcyqwerty
그러면 기본적으로'fgets'가 하나의 요소를 가진 단일 요소 배열로 폭발하는 빈 줄을 반환합니다. – arcyqwerty