Autor | Zpráva | ||
---|---|---|---|
Darker Profil |
#1 · Zasláno: 27. 11. 2011, 14:38:54
Chtěl bych pole (log) zkrátit ale přitom zachovat pořadí hodnot. A zajistit aby šly od 0 až do konce bez přeskakování:
array( array("cas"=>5555,"akce"=>12), array("cas"=>6454,"akce"=>1), array("cas"=>7535,"akce"=>12), ) Po úpravě: array( array("cas"=>5555,"akce"=>12), /*Pořadí klíčů zústává homogení*/ array("cas"=>7535,"akce"=>12), ) |
||
Tori Profil |
#2 · Zasláno: 27. 11. 2011, 15:43:57 · Upravil/a: Tori
array_splice (jestli přesně znáte pozici vyhazovaného prvku). Podle jakého pravidla se vyhazuje?
|
||
Darker Profil |
#3 · Zasláno: 27. 11. 2011, 16:56:12
Pravidlo je jednoduché - likviduju staré záznamy od druhého až dokavaď není délka logu optimální. První se ponechává, obsahuje datum registrace. Array splice je přesně to, co jsem hledal.
|
||
Majkl578 Profil |
#4 · Zasláno: 28. 11. 2011, 02:32:54
Darker:
„Chtěl bych pole (log) zkrátit“ Ono uchovávat log jako PHP pole už samo o sobě není moc optimální, jednak kvůli velikosti, druhak kvůli náročnosti manipulace s větším logem. Vhodnější by nejspíš bylo použít prostě obyčejný soubor (např. application.log), kde jeden záznam v logu by byl reprezentován jedním řádkem. Rozsáhlost by se ideálně řešila rozdělením (1 log soubor na hodinu/den/týden). |
||
Darker Profil |
#5 · Zasláno: 28. 11. 2011, 19:49:32 · Upravil/a: Darker
Majkl578:
Stejně bych ten log ze souboru předělal na pole. Je to log přihlášení - je tedy sám o sobě krátký, dlouhý není třeba. |
||
gekon Profil * |
#6 · Zasláno: 28. 11. 2011, 19:57:50
a proč to nenaházíte třeba do sqlite databáze .. pak se s tím pracuje o hodně lépe ?
pak můžete mazat jak chcete a databáze bude konzistentní ... |
||
Darker Profil |
#7 · Zasláno: 28. 11. 2011, 22:23:44
SQLite je taková ta databáze co pracuje se soubory na disku, ne? Log je součástí dat uživatelského profilu.
|
||
Časová prodleva: 12 let
|
0