Portál AbcLinuxu, 10. května 2025 02:44
fseek()
? Pretoze mi to pride ako dost nesikovne riesenie. Osobne by som natiahol do pamate cely kalendar, kazdy den zabaleny vo vhodnom objekte, a v pripade poziadavky by som len zo zotriedenho zoznamu takychto objektov vytiahol prislusny pocet poloziek. Triedenie ani netreba riesit, ak je dane, ze vstupny subor je zotriedeny. Vyriesit treba len cyklickost zoznamu, aby sa nasledujucich 7 dni vratilo aj v pripade, ze pouzivatel zvoli datum z posledneho tyzdna roka. Ak je zoznam v poli, tak staci obycajne delenie modulo.
fgets()
.
//nastavení $max_days = 7; //vypis to nejak function PrintMe($line) { print nl2br($line); } if(($lines = file("mujfiles.neco")) === false)//nacti files do pole { echo "error, file not found"; } else { $now = time(); $day = (int) date("d",$now); $month = (int) date("n",$now); $cnt = count($lines); for($i = 0;$i < $cnt;$i++) { $a = explode ('.', $lines[$i], 3); if(count($a) == 3)//je to ten spravny radek ? { if((IntVal($a[0]) == $day)&&(IntVal($a[1]) == $month))//je to dnes ? { PrintMe($lines[$i]); $rewind = 0; $j=0; while($j < $max_days && $rewind < 2)//konec roku, 1× přemotat { for($i++;$i < $cnt && $j < $max_days;$i++) { $a = explode ('.', $lines[$i], 3); if(count($a) == 3)//je to ten spravny radek (už zas) ? { PrintMe($lines[$i]); $j++; } } $i = -1; $rewind++; } break; } } } }
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.