.txt filuun pitäisi kirjoittaa taulukon sisältö niin, että taulukon riveistä tulee txt-filun rivejä. Tämä ei sinänsä ole ongelma. Jos kuitenkin sorkin taulukon riviä, sitä seuraava rivi tallentuu samalle riville. Eli siis seuraavan rivin alusta häviää \n. Osaisikos joku selittää tai kertoa korjaustapaa?
Kokeilin laittaa tämän sorkitun rivin perään \n, mutta jos sorkittu rivi on viimeinen, tule tiedoston viimeiseksi riviksi tyhjä rivi, enkä saanut sitä estettyä edes tarkistamalla, onko sorkittu rivi viimeinen. (jos viimeinen, ei laiteta perään \n mutta ei toiminut) Toivottavasti joku osaa auttaa. :(
//Luetaan rivit $rivit = file("tiedosto.txt"); //Poistetaan kaikki rivin vaihdot $rivit = array_map("trim", $rivit); //Tähän rivien sörkkiminen esim. $rivi[0] = "Uusi eka rivi :)"; //Tallennetaan.. $fp = fopen("tiedosto.txt", "w"); foreach($rivit as $rivi) fwrite($fp, "$rivi\n"); fclose($fp);
Tämä on siis vain yksi tapa..
Ilmeisesti aluksi kaikissa taulukon riveissä on lopussa rivinvaihto. Tämä tilanne on silloin, kun taulukko on muodostettu file-funktion avulla.
Ehkä selkein korjaustapa on poistaa rivinvaihdot, kun rivit luetaan taulukkoon, ja lisätä rivinvaihdot, kun rivit tallennetaan takaisin tiedostoon (ks. Smulizin koodi). Jos viimeisen rivin lopussa ei saa olla rivinvaihtoa, tallennus voidaan tehdä esimerkiksi näin:
Kiitos avusta kaikille auttaneille!
Nyt toimii! Hienoa. Itse yritin tehdä tuollaista samanlaista tarkistussysteemiä, että onko viimeinen. En tajunnut, että pitää tarkistaa count($taulukko)-1 eikä count($taulukko).
Aihe on jo aika vanha, joten et voi enää vastata siihen.