Miten olisi helpoin tapa muuttaa jonkun tiedoston rivin tiettyä pätkää. Allaolevassa "tekstitiedoston sisällössä" on paksunnettu se kohta jota pitäisi muuttaa.
M1|M2|M3|M4|M5| [l]M7[/l]|M7|M8|M9|M10|
Tuskin näin. En jaksa testata, mutta näin sen itse tekisin.
<?php $file = "tiedosto.txt"; //tiedoston nimi $rivi = 2; //jos tiedät rivin $str = "M7"; //muutettava tieto $ustr = "M11"; //se tieto, miksi muutettava tieto pitää muuttaa $filu = file($file); $kahva = fopen($file, "w+"); for($i=0;$i<count($filu);$i++){ if($i == $rivi){ $info = explode("|", $filu[$i]); for($i=0;$i<count($info);$i++){ if($info[$i] == $str){ $mrivi .= $ustr."|"; } else { $mrivi .= $info[$i]."|"; } } fwrite($kahva, $mrivi."\n"); } else { fwrite($kahva, $filu[$i]."\n"); } } fclose($kahva); ?>
Suosittelen myös MySQL:ää, ylläoleva koodi muuttuu 4-riviseksi.
Mitään kovin helppoa tapaa ei ole, vaan rivit täytyy lukea tiedostosta, tehdä niihin tarvittavat muutokset ja kirjoittaa ne takaisin tiedostoon. Kannattaa kuitenkin miettiä, voisiko tiedot tallentaa jotenkin muuten, koska tällainen rivien muuttelu on aika työlästä ainakin suurilla tiedostoilla. Joka tapauksessa valmiita esimerkkejä asiasta pitäisi löytyä haulla.
Aihe on jo aika vanha, joten et voi enää vastata siihen.