У меня есть файл с именем denem.txt, и он имеет содержимое
123456789
123456789
123456789
Когда мы открываем файл в режиме 'a + b', PHP должен поместить указатель в конец файла, что означает, что когда япопытаться получить символ с помощью функции fgetc, он должен вернуть False, поскольку feof имеет значение true.Однако, когда я использую код вроде
while (false !== ($char = fgetc($file))) {
echo "$char\n";
}
, я получаю 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9.-> Это странно, потому что я не использовал rewind (), а указатель должен находиться в конце файла, значит, fgetc должен возвращать False.ftell возвращает int 0 означает, что указатель находится в начале файла.Однако, когда я пытаюсь записать что-то в файл с помощью fwrite, который использует текущую позицию указателя, он должен записать это в начало файла, если ftell нам не врет.Но когда я использую fwrite, угадайте, что произойдет, он записывает его в конец файла, и мой файл становится
123456789
123456789
123456789Test
У вас есть идеи по этому поводу?