Autor Zpráva
oogi
Profil *
Na stránkách mam neco jako statistiky, které se mi ukladaji do TXT souborů.
U rozsáhlejších statistik se mi čas od času TXT soubor "vynuluje", tedy zmizí všechny dříve uložený hodnoty - myslim že se to vždy stane po dosažení nějaké velikosti.

Je tedy TXT soubor nějak omezen?
Nebo za to může funkce File_Size?
souki
Profil
Nikdy jsem se s tím nesetkal... tam bude asi problém v nějakém mezokroku... kdyžtak napiš jak to ukládáš....
Když použiješ binární soubory místo textových tak se jeho velikost určitě zmenší....
Ale pokud je těch záznamů hodně a chceš s nimi dále pracovat, tak bych doporučil spíše ukládání do nějaké databáze.
hugo_jinde
Profil *
Toto je pravdepodobne zpusobeno pristupem vice uzivatelu k jednomu souboru. Pouzij radsi databaze.
souki
Profil
Toto je pravdepodobne zpusobeno pristupem vice uzivatelu k jednomu souboru. Pouzij radsi databaze.
dobrý nápad... ale i tak by se mělo jen přijít o zápis jednoho uživatele a ne o celý soubor. Nebo ne?
oogi
Profil *
Je pravda že do souboru může přijít až několik desítek uživatelů naednou, ale takových souborů mam na webu přes deset, ale ty méně rozsáhlejší fungují, takže v ukládání problém nebude....
Databaze zatim neumim, nasel jsem si nejake clanky, ale zdalo se mi to moc slozity...
juneau
Profil
Je to problem v ukladani, alespon podle mych zkusenosti. Priklad (mozna zcestny)

A otevre soubor a cte z nej. (data $a)
B otevre jiz jednou otevreny soubor a cte z nej: protoze je otevreny, tak je take zdanlive prazdny. (data $b)

A ulozi $a do souboru a zavre jej.
B ulozi $b do souboru a zavre jej. Jenze $b je prazdna hodnota.

V souboru nic neni. Tak to myslim funguje. A pokud ne, je to jedno, mel by to byt hlavni duvod zacit se ucit pracovat s databazi. Nikdy to pak nedocenis.
oogi
Profil *
A když to udělám v databázi tak tohle nehrozí?
jozob
Profil
oogi
"A když to udělám v databázi tak tohle nehrozí?"
Prečo by sme Ti inak doporučovali databázu? :-)... Databázový server je navrhnutý tak, aby sa podobné veci nestávali.
nethor
Profil *
Tenhle problem jsem resil taky.
Nakonec jsem to osetril tak, ze po zapisu do souboru testuju velikost souboru
a kdyz je nulova zapis opakuju.
( cyklus do {'zapis'} while (velikost==0) <= samoz. zjednodusene)
Pomohlo to.
Hugo
Profil
nethor

Ale stejně je lepší použít tu db. Jinak ten zápis dost zavání nekonečnou smyčkou.
jozob
Profil
oogi
Nebo za to může funkce File_Size?
Ani náhodou :-)... Funkcia file_size() zistí a vráti počet bajtov obsadených súborom na disku, zo súborom nič nerobí, môj predpoklad je taký, že pri zisťovani veľkosti súboru sa pracuje len s tabuľkou súborového systému.
oogi
Profil *
( cyklus do {'zapis'} while (velikost==0) <= samoz. zjednodusene)
To vypadá slibně. Zkusim to použit.
oogi
Profil *
A ta velikost je testována příkazem File_Size ???
jozob
Profil
oogi
Áno. http://php.net/filesize
jozob
Profil
Ešte poznámka: Nie file_size, ale filesize.
nethor
Profil *
FileSize(); ( file_size(); je chyba )

Nekonecna smycka se sz. musi osetrit.


$i=0;
do {
// zapis .........
$i++;
}
while (FileSize($soubor) == 0 && $i < 100)
oogi
Profil *
A nestačilo by pouze ověřit velikost při otevírání?

$i=0;
do {
otevření souboru
$i++;
}
while (FileSize($soubor) == 0 && $i < 100)

další operace se souborem
jozob
Profil
To už je krajší for cyklus, nie? :-)
nethor
Profil *
A nestačilo by pouze ověřit velikost při otevírání?
To ho chceš otvírat tak douho, dokud se nezvětší? ;-)

To už je krajší for cyklus, nie? :-)
myslym , že do while je na místě, protože , když jde vše správně proběhne jen jednou.
jozob
Profil
nethor
Máš pravdu, to som si neuvedomil.
oogi
Profil *
A nestačilo by pouze ověřit velikost při otevírání?
To ho chceš otvírat tak douho, dokud se nezvětší? ;-)


Ale já ten soubor nemam prázdnej, takže by to mělo jít...
Protože aby mi vždy proběhly všechny ty operace co tam mam je fakt zdržovačka....
oogi
Profil *
Tak sem udělal kontrolu jen pro otevírání a funguje to:)
Toto téma je uzamčeno. Odpověď nelze zaslat.