Autor Zpráva
PetraPP
Profil
Ahoj,
chtěla bych si vytvořit LOG soubor do které bych přes PHP chtěla zapisovat data. Lze to přes:
$time = Time().PHP_EOL;
file_put_contents("./log/time.txt", $time, FILE_APPEND);

Potřebuji však data v souboru time.txt omezit na třeba 10 aktuálně vložených položek a staré mazat. Poradíte jak na to?
Keeehi
Profil
načíst - modifikovat (nejstarší smazat, nový přidat) - soubor přepsat novým obsahem

Pro čtení bude asi vhodné použít funkci file, která ti obsah souboru vrátí jako pole (rozsekané po řádcích).
Stačí pak jen přidat nový řádek, a zkontrolovat, zda se nepřekročil limit počtu řádků. Pokud ano, smazat z pole zen nejstarší řádek. Všechno to jsou jednoduché operace práce s polem.
Nakonec už to stačí jen uložit. Na spojení pole do jednoho řetězce použij implode a uložit to můžeš funkcí co používáš teď, jen z toho odstraň ten append.

Ještě poznámka. Pokud by se stalo, že do toho log souboru se bude pokoušet zapsat více scriptů zároveň, může se stát, že se log některého z nich neuloží. Ale je to něco, co tě asi trápit nemusí. Pokud ano, musíš si k tomu nastudovat zamykání souborů.

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:

0