Jump to content
php.lv forumi

problema ar ierakstiem txt faila


Alnis

Recommended Posts

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 :)

Link to comment
Share on other sites

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)

Link to comment
Share on other sites

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 by Alnis
Link to comment
Share on other sites

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 by briedis
Link to comment
Share on other sites

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 by tas_pats
Link to comment
Share on other sites

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?

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...