Alnis Posted October 13, 2009 Report Share Posted October 13, 2009 Tatad gribu, lai teksta failaa rakstas: bla-bla-bla bla-bla-bla bla-bla-bla bla-bla-bla nevis: bla-bla-blabla-bla-blabla-bla-blabla-bla-blabla-bla-bla Te kods: $writable='bla-bla-bla'; $ourFileName = "aa.txt"; $fh = fopen($ourFileName, 'a') or die("Can't open file"); fwrite($fh, $writable.'\r\n'); fclose($fh); Lieta tada, ka txt failaa viss tiek rakstits viena rinda, kad es katru reizi palaizu so koda gabalu, fwrite($fh, $writable.'\n'); ari so raksta viena rindaa. Paldies par info jau ieprieks :) Quote Link to comment Share on other sites More sharing options...
briedis Posted October 13, 2009 Report Share Posted October 13, 2009 paprovē \r\n, nevis \n Quote Link to comment Share on other sites More sharing options...
Alnis Posted October 13, 2009 Author Report Share Posted October 13, 2009 briedis, skat. augstak, ar to ari meginaju :) Quote Link to comment Share on other sites More sharing options...
briedis Posted October 13, 2009 Report Share Posted October 13, 2009 Nu paprovē vispirms uzbūvēt stringu un attēlo un paskaties source vai tur ir jaunas rindiņas, ja ir, bliez iekšā failā ar file_put_contetns() piem. for($i=0;$i<5;$i++){ $str .= "teksts\r\n"; } echo $str; file_put_contents("fails.txt",$str) Quote Link to comment Share on other sites More sharing options...
Alnis Posted October 13, 2009 Author Report Share Posted October 13, 2009 (edited) mjaa taa stradaa. Problema laikam ir tajaa, ka es gribu jauna rinda rakstit kad notikusi atslegsanas no faila un kad pec tam atkal piesledzas, lai rakstas jaunaa rindaa :) man tas ir kaa LOG fails, kur ir pa laikam pieslegsies un ierakstit informaciju failaa, gribetu, lai informacija butu labi parskatama, katrs ieraksts jaunaa rindaa. Ceru, ka skaidri izsakos:) Edited October 13, 2009 by Alnis Quote Link to comment Share on other sites More sharing options...
briedis Posted October 13, 2009 Report Share Posted October 13, 2009 (edited) Ja log files ir liels, tad file put contents nebūs īsti labi, jo tad ir jānolasa viss faila saturs,tad jāpievieno jaunais ieraksts un jāieraksta viss atkal failā, bet ar fwrite viņš pieliek uzreiz vajadzīgo faila beigās. Tas, ka atslēdzas no faila un pieslēdzas atkal nevajadzētu neko mainīt attiecībā uz jaunu rindu, jo \r\n ir tikai jaunas rindiņas apzīmējoši simboli, kas tiek ierakstīti turpat failā. Paprovē notīrīt to failu, un sākt rakstīt tikai ar \r\n, moš vienkārši tavs reksta redaktors samulst, kad redz gan \n gan \r\n. (principā \r\n ir vajadzīgs windows vidē, ar \n pietiek unix vidē, bet \r laikam bija uz mac'iem :) ) Edited October 13, 2009 by briedis Quote Link to comment Share on other sites More sharing options...
tas_pats Posted October 13, 2009 Report Share Posted October 13, 2009 (edited) Man gan šķiet, ka jaunas rindas simbols nenostrādā tamdēļ, ka to mēģini ievietot starp single qoutes (['] - jeb latviski laikam vienpēdiņas saucas). Jaunas rindas speciālais simbols \n un \r tiek interpretēts tikai starp double-quotes (["] - jeb dubultpēdiņām). Varbūt tas būs šajā gadījumā arī pie vainas. EDIT: vairāk par to šeit Edited October 13, 2009 by tas_pats Quote Link to comment Share on other sites More sharing options...
indoom Posted October 13, 2009 Report Share Posted October 13, 2009 Ja log files ir liels, tad file put contents nebūs īsti labi, jo tad ir jānolasa viss faila saturs,tad jāpievieno jaunais ieraksts un jāieraksta viss atkal failā, bet ar fwrite viņš pieliek uzreiz vajadzīgo faila beigās. Ieinteresēja šitā doma. Manuālī gan teikts, ka file_put_contents ir identisks fwrite "This function is identical to calling fopen(), fwrite() and fclose() successively to write data to a file.". Ir testēts, kurš ir ātrāks? Quote Link to comment Share on other sites More sharing options...
briedis Posted October 13, 2009 Report Share Posted October 13, 2009 Ja, indoom, tomēr identisks. Biju aizmirsis, ka tur var norādīt flagu, ka raksta append veidā. pareizi būs: file_put_contents($filename, $data, FILE_APPEND); Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.