Когда я использую функции файлов в PHP, я проверяю EOF. Интересно, действительно ли EOF существует в файле. Когда я создаю пустой текстовый файл, он отображает 0 КБ. Как EOF существует в файле с 0 КБ?
Существует символ управления концевым файлом (в символе ASCII задано значение CTRL + Z или 26 или 0x1A), но на самом деле он не нужен для обозначения конца файла, так как OSes, выпущенные в 80-х годах. Все современные ОС хранят размер файла как метаданные в структуре каталогов (точный формат зависит от файловой системы), а функции доступа к файлу высокого уровня будут проверять размер файла, чтобы определить, когда указывать EOF вам, программисту.
Если в данных есть конец файла, и у вас переведены текстовые переводы (в большинстве языков это тот же параметр, который управляет конверсиями NL <-> CRLF), тогда доступ к файлу может прекратиться, когда он попадает EOF-характер. В двоичном режиме чтение будет продолжаться до тех пор, пока не будет достигнут размер файла.
В современных файловых системах на диске нет фактического символа EOF. Он реализован в некоторых функциях чтения файлов, возвращая значение 4 байта вместо 1 байтового значения, но большинство функций не используют эту концепцию.
он не существует .. но размер файла делает, и вот как вы знаете, где находится eof