0
PHP 스크립트가 멈추는 이유는 무엇입니까?
$path = tempnam(sys_get_temp_dir(), '').'.txt';
$fileInfo = new \SplFileInfo($path);
$fileObject = $fileInfo->openFile('a');
$fileObject->fwrite("test line\n");
var_dump(file_exists($path)); // bool(true)
var_dump(file_get_contents($path)); // string(10) "test line
// "
var_dump(iterator_count($fileObject)); // Hangs on this
내가 마지막 줄 (iterator_count(...
)을 삭제하고이로 교체하는 경우 :
$i = 0;
$fileObject->rewind();
while (!$fileObject->eof()) {
var_dump($fileObject->eof());
var_dump($i++);
$fileObject->next();
}
// Output:
// bool(false)
// int(0)
// bool(false)
// int(1)
// bool(false)
// int(2)
// bool(false)
// int(3)
// bool(false)
// int(4)
// ...
$fileObject->eof()
항상 내가 무한 루프를 얻을 false를 반환합니다.
왜 이런 일이 발생합니까? 줄 수를 얻어야 해. 난 당신의 코드에 표시되는 내용으로
'r'모드에서 두 번째 SplFileObject를 만들더라도 발생합니다. 당신이 대답했습니다. 고마워요. 내 실제 문제에 대한 새로운 티켓을 만들었습니다. http://stackoverflow.com/questions/11706174 – mattalxndr