priedzha Posted June 17, 2007 Report Share Posted June 17, 2007 Sveiki, kā var noteikt pēdējās rindiņas saturu txt failam? Link to comment Share on other sites More sharing options...
andrisp Posted June 17, 2007 Report Share Posted June 17, 2007 Pirmais, kas iešāvās prātā: $content = file('fails.txt'); $content = array_reverse($content, false); echo $content[0]; Nav pats optimālākais, bet vajadzētu strādāt. Link to comment Share on other sites More sharing options...
rpr Posted June 17, 2007 Report Share Posted June 17, 2007 ja fails ir palielaaks, tad ejam guleet. ar labu nakti! Link to comment Share on other sites More sharing options...
bubu Posted June 17, 2007 Report Share Posted June 17, 2007 Ja fails ir lielāks, tad vajag lasīt pa rindai - turot atmiņā tikai vienu pēdējo nolasīto rindu. andrisp variantu var padarīt efektīvāku nelietojot array_reverse funkciju, bet gan [0] vietā ņemot pēdējā masīva elementa indeksu. Link to comment Share on other sites More sharing options...
rpr Posted June 17, 2007 Report Share Posted June 17, 2007 kaapeec cilveeki baidaas no fread, fseek uc funkcijaam? Link to comment Share on other sites More sharing options...
bubu Posted June 17, 2007 Report Share Posted June 17, 2007 Tāpēc ka ar tām nav iespējams noteikt pēdējās rindas pozīciju, ja rindu garumu ir mainīga garuma. Link to comment Share on other sites More sharing options...
rpr Posted June 17, 2007 Report Share Posted June 17, 2007 nu es biju labaakaas domaas par bubu. gribeeshu redzeet, ja fails buus 1gb liels, kursh atgrieziis aatraak file() vai fread(). baidos, ka tu pat to failu nevareesi nolasiit ar file(). Link to comment Share on other sites More sharing options...
andrisp Posted June 17, 2007 Report Share Posted June 17, 2007 rpr, vai tad bubu teica, ka ar file() būs ātrāk ? rpr, parādi piemēru kā ar fread un fseek var to izdarīt. Es, protams nešaubos, ka var. Un strādās arī 10reiz ātrāk par file(), bet vai ieguldītais laiks atmaksāsies, ņemot vērā, ka cilvēks visticamāk taisa kaut ko pavisam vienkāršu kā guestbooku vai ko līdzīgu, kur vairāk par dažiem desmit vai simtiem kilobaitu fails lielāks nebūs ? Link to comment Share on other sites More sharing options...
Exzo Posted June 17, 2007 Report Share Posted June 17, 2007 fseek() jūzeru komentāros tieši šāda funkcija ir atrodama :) Link to comment Share on other sites More sharing options...
bubu Posted June 17, 2007 Report Share Posted June 17, 2007 Ja tev ir 1gb liels fails, tad vai nu tu esi dunduks, vai ... nu otra varianta nav, tu esi dunduks, ja neizmanto datubāzi tāda apjoma datiem. Link to comment Share on other sites More sharing options...
rpr Posted June 18, 2007 Report Share Posted June 18, 2007 kaaa var vispaar iedomaaties, ka kaads saglabaa muljkkjiigi datus, ja runa ir tikai par nolasiishanu. vai gadiijumaa taas pashas datu baazes netiek glabaatas failos? piemeers lieliem failiem - logi. un luuduz bez apvainojumiem. Link to comment Share on other sites More sharing options...
Kavacky Posted June 18, 2007 Report Share Posted June 18, 2007 Tāpēc ka ar tām nav iespējams noteikt pēdējās rindas pozīciju, ja rindu garumu ir mainīga garuma.Kāpēc ne? Paturēt visu pēc pēdējā sastaptā newlaina, līdz EOF. Un ja vajag speciāli pozīciju, to jau arī var saglabāt kaut kādā mainīgajā. Link to comment Share on other sites More sharing options...
v3rb0 Posted June 18, 2007 Report Share Posted June 18, 2007 fseek() jūzeru komentāros tieši šāda funkcija ir atrodama :) ugu, pat iekopēju iekš http://paste.php.lv/5676/nonum un kas no tās nesaprotams? Link to comment Share on other sites More sharing options...
bubu Posted June 18, 2007 Report Share Posted June 18, 2007 Es ar pozīcijas noteikšanu biju domājis tādu izrēķināšanu, ka nav nekas no faila jānolasa. Ja lasa no faila, tad, protams, visādas lietas var izdarīt. Bet vai tāda ķēpāšanās atmaksājas (domājot par koda tīrību/saprotamību, nevis ātrumu)? Kāpēc ne? Paturēt visu pēc pēdējā sastaptā newlaina, līdz EOF. Un ja vajag speciāli pozīciju, to jau arī var saglabāt kaut kādā mainīgajā. To jau es pats pirmajā savā postā šajā topikā uzrakstīju. Link to comment Share on other sites More sharing options...
rpr Posted June 18, 2007 Report Share Posted June 18, 2007 v3rb0 paarvareeja manu slinkumu un uzrakstiija tieshi to, ko es domaaju ;) Link to comment Share on other sites More sharing options...
Recommended Posts