Autor Zpráva
Imro
Profil *
Ahoj, ako môžem vymazať KONKRÉTNY riadok v súbore?
Povedzme že je súbor lol.ini a vyzerá takto:
lol
rofl
omg


potrebujem zo súboru vymazať celý druhý riadok aby vyzeral takto:
lol
rofl
omg


Samozrejme v tom súbore bude namiesto lol rofl nejaký text, vždy iný, preto potrebujem nejakým spôsobom vymazať istý riadok ktorý potrebujem... vďaka.
Alphard
Profil
Podstata ukázek v [#1] mi uniká. Ale obecně file(), unset(), implode(), file_put_contents()
Imro
Profil *
Sprostý som... pardón. To druhé malo byť

lol

omg


Jednoducho zapisujem dáta:
niečo\n
niečo\n
niečo


a potom ich čítam cez fgets - teda
fgets()
fgets()
fgets()


čím sa mi prečítajú všetky tri riadky. Ale potrebujem jeden z nich vymazať... to je všetko.
hal_sk
Profil
Imro:
Ja by som ten súbor načítal celý, napríklad pomocou
fread()
a potom by som ho pomocou
explode()
rozsekal pričom delimiter bude "\n" a potom by už nemal byť problém detekovať žiadaný riadok, vytvoriť nový obsah súboru bez toho riadku a celé to zapísať (prepísať) do existujúceho súboru.
Chro
Profil
$vymaz_radek = 2;
$soubor = 'lol.ini';
$obsah = file($soubor);
//načtení na řádky nasekaného obsahu ze souboru
unset($obsah[$vymaz_radek - 1]);
//smazání požadovaného řádku z obsahu
$upraveny_obsah = implode('', $obsah);
//celé to opět spojíme
file_put_contents($soubor, $upraveny_obsah);
//a uložíme zpátky do souboru
Imro
Profil *
Vďaka všetkým, funguje :)

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: