Dosyalar sonuna kadar baştan okumak, veri sadece bir akışı vardır. OS bu dosyada şimdiye kadar okuduğum konumunu hatırlar. Gerekirse, hem de uygulamada bu sayede oldukça basittir. OS yalnızca bayt pozisyonları değil, olsa çizgiler umurunda.
Sadece 52 kart sırayla bir güverte uğraşan hayal. Sen ilk kartı kapalı el. Bir dahaki sefere 2.. Kartı. Eğer 3. Kartını vermek istediğinizde, tekrar baştan saymaya başlamak gerekmez, hatta size sadece bir sonraki kartı dağıtmak nerede hatırlayarak, ve üçüncü olacak.
Eğer preformance uğruna gerçek dosyadan okunan veri tampon isterdim, çünkü satırları okumak için gereken, biraz daha fazla iş olabilir, ama bu size verilerin son parça ofset kaydetmek için daha kendisine çok daha fazla değil dağıttı, yeni satır karakteri bulmak ve bu 2 nokta arasındaki tüm verileri elini.
Ilgili tüm sistem bakım "sonraki satır" olduğu PHP ne OS etrafında satır sayısını tutmak için gerçek bir ihtiyaç vardır. Eğer satır numarasını bilmek istiyorsanız, bir sayaç tutmak ve bunu app bir satır okur her zaman artırmak.
$lineno=0;
while (!feof($handle)) {
$buffer = fgets($handle, 4096);
lineno++; // keep track of the line number
...
}