Odpověď na tento dotaz myslím uvítá každý uživatel webzdarma. Nebo je to někde vyvěšené? Na fóru jsem to nenalezl.
1. Co se stane (a za jak dlouho) při překročení 5MB limitu MySQL databáze?
2. Co se stane při překročení 50MB (popřípadě většího) webového prostoru?
Myslím jak na úmyslná, tak na neúmyslná (nevědomá) překročení.
(Vysvětlení:
Ptám se, jelikož není dosud znám žádný rozumný způsob, jak zjistit skutečný obsazený prostor pomocí PHP, lze to pouze pomocí FTP. A z toho důvodu nemůžeme v PHP skriptech ověřovat, jestli právě ukládaná data nepřekročila povolenou kapacitu. Leda bychom se zkusili v PHP skriptu připojovat na své vlastní FTP a tam si zkusit ověřit kapacitu. Asi by to ale nefungovalo moc dobře. Nebo to přecejen jde v PHP testovat nějak inteligentněji?)
http://jk.unas.cz/kapacita.php
a teď tu zrovna sšla diskuze o tom jak určit obsazený prostor, včera a dnes, nebude to daleko
http://www.webzdarma.cz/forum/read.php?f=4&i=45359&t=45359
Elektrostraka:
ad 1) překročit 5mb limit v databázi snad nejde, protože tam se to (snad) hlídá víc, než filesystém přes původního správce...
ad 2) 50MB už překročit nejde, FTP to hlídá a phpWebFTP to taky hlídá, takže ti to nedovolí kopírovat další soubory.
>"A z toho důvodu nemůžeme v PHP skriptech ověřovat, ..."
Ale? Novinka :) Zkus třeba http://manual.wz.cz/download/filesystem.txt , který jsem před pár dny napsal. S použitím základní matematiky bez problému zjistíš, vše, co budeš potřebovat. (viz. link od ds)
taktak, nebo u mě
http://rur.kx.cz/quotas.html
pokud ti nevadí nezabezpečený přenos hesla (=> nejspíš nic, ale jestli se bojíš, že by ti to heslo někdo ukradnul během toho, co poputuje nezašifrované po síti, tak tam nechod)
Abych pravdu rekl, uz chapu, proc je WZ tak zatizene, kdyz pri kazdem postovani obrazku dochazi k takovymto operacim (tj. nacteni cele databazove struktury). Mozna by bylo lepsi a ucinnejsi, kdyby spravci udelali treba soubor wz.cz/getusedspace.php, ktery by zjistil, ktera domena dotaz poslala a vratila zabrany prostor. Clovek by pak jen napsal <?
$a=file('http://wz.cz/getusedspace.php');
$usedspace=$a[0];
?> a dostal hodnotu zabraneho mista.
Jde vsak o to, jak WZ uklada zabrane misto (jestli vubec). Pokud informace neni v DB, ale ziskava se pokazde pomoci diskovych prikazu, tak je kod od Toma ci jemu podobny jedinou moznosti. Ale myslim, ze WZ by potrebovalo bud velkou investici do serveru nebo do poradneho programatora na optimalizaci.
PS: Informaci lze ukladat do DB a souborove prikazy PHP a FTP preprogramovat tak, aby aktualizovaly aktualni zabrane misto.
tohle: tvůj příspěvek absolutně nechápu.
kde jsi vzal to žvást o načítání celé databázové struktury? Proč? Co je to databázová struktura?
Jo aha ... už sem (ne)logiku tvého myšlení asi pochopil, takže tě teď trošku zpražím (doufám, že se na mě nenaštveš):
1) pokud ukládáš obrázek na web (do filesystému), tak se žádné databázové struktury neprocházejí, protože to s databází nemá nic společného. Jo pokud ukládáš obrázky do databáze, tak jsi s prominutím debil (nic ve zlém).
2) tvůj způsob zjišťování obsazení prostoru je byl akorát tak na nic a na houby. Jak by asi podle tebe ten skript zjistil obsazení filesystému? Přemýšlej a přijdeš na to, že by jsi zatížení serverů akorát tak mnohonásobně zvýšil.
3) to <? $a=file('http://wz.cz/getusedspace.php'); $usedspace=$a[0]; ?> je fakt povedený, horší způsob neznáš? Pokud tohle provozuješ na svém webu, tak se tomu vytížení WZ ani nedivím...
4) A proč by jako mělo WZ ukládat zabrané místo? K čemu? Asi hodně rozumíš nastavení serverů a souborovým systémům, viď?
5) Vážně si myslíš, že FTP používá obdobu mého výtvoru, k tomu aby ti mohlo vypsat "Quotas: using 0.00 of 50000 KB (0.00% used)"? Nebud se opakovat: viz bod 4.
6) A já si zase myslím, že žádná investice není potřeba, leda tak do nějaké pořádné učebnice, aby jsi pochopil proč do tebe tak hustím...
7) "Přeprogramovat PHP a FTP"... ty vole, nezlob se na mě, ... tak tohle mě vážně dostalo. Což takhle se vybodnout na Apache a PHP a napsat si své proqramy? Vždyť to nic není, stačí tak 5-6 let tvrdého vývoje a dostaneš se někam na úroveň stávajících serverů a jazyků.
8) ale jinak dobrej návrh, to se musí nechat...
PS: že by jsi toho pořádného programátora na optimalizaci šel dělat, když jsi takový expert, ne? Jenom by mě zajímalo, za jak dlouho by mohlo WZ zavřít krám?! =)
<rejp>Ježíš, já se s Váma lidi nsměju ... já vás nemít, tak se asi ukoušu nudou!</rejp>
Dobrá. Pročetl jsem si to všecko. Děkuji za náměty.
Nicméně základní otázka zůstává nezodpovězena:
CO SE STANE PŘI PŘEKROČENÍ LIMITŮ?
Vysvětlim: velikost databáze se asi překročit dá. Mám totiž podezření, že při překročení limitu dochází ke ztrátám dat: zmizí největší tabulka.
Asi není dobré to tu moc rozkřikova, ale obsazený prostor na web prostoru se pomocí PHP taky překročit dá. Jednou jsem v PHP vytvořil asi 0,5GB soubor. Na svém účtu. A byl tam asi týden než jsem to zjistil.
Tomův nápad na rekurzivní sčítání velikostí souborů je moc hezký, ale má jeden základní nedostatek: nezjišťuje fyzicky obsazené místo na disku, na to mě už jednou upozorňovali admini webzdarma. Je to sice malé procento, ale je tam. A může být podstatnější při fragmentaci souborů. Ne?
Test obsazenosti přes ftp funkce je použitelný... ještě to trochu otestuju spolehlivost a dosažitelnost FTP.
Prekroceni databaze je mozne, ale neverim, ze by se tim poskodila tabulka. To by se pak MySQL vubec nepouzival. Pokud se prekroci, tak insert by pak vratil chybu. Pokud zbyva par bajtu a prekroci se, tak bych rek, ze taky vyhodi chybu. Nevim jak to je, ale poskozeni mi pripada nepravdepodobne.
Prekroceni disku. Pres FTP to nejde (nanejvys tak o par mega). Ve starem spravci se dalo bezproblemu prekracovat klidne i o par desitek MB. Nevim na jakem principu pracoval. Proste to nekontroloval. V soucasne dobe to jiz nelze, protoze spravce pracuje pres FTP. Pri prekroceni kapacity FTP odmitne soubor prenes. Prekroceni pres PHP myslim ze jde.
Dodatek: rekurzivni scitani je jasne, ze neni presny. Je rozdil scitat ze skutecne hodnoty souboru a z filesystemu. Soubor o velikosti 2kB muze v filesystemu zabirat 4kB.
Elektrostraka:
Pokusím se tedy odpovědět:
ad1 - MySQL: úplný souhlas s Tomíkem.
ad 2 filesystém durch PHP): ano, tam se to nekontroluje, takže teoreticky můžeš soubory zaplnit celé diskové pole, ale kdybych byl admin a zjistil, že jsi kvótu vědomě překročil, tak bych ti web s klidným svědomím smáznul ... ale nejsem admin. A myslím si, že tohle záleží na každém uživateli.
ad2 filesystém durch FTP): opět souhlas s Tomíkem: překročit kvótu nelze, soubor bude odmítnut. Pokud už jsi překročil, nic se neděje, ale další soubory tam nedostaneš.
ad2 filesystém durch Správce): opět souhlas s Tomíkem: kdysi to šlo, teď už ne, takže je to to samý, jako FTP.
to Tom: nerad bych vytvořil nějaký flameware, ale já osobně na ukládání souborů do databáze nic špatného nevidím. Stejně se nakonec uloží ve formě dat na nějaký disk do nějakého souboru.
Jak například chcete udělat (bezpečný) systém, který má ukládat z webového rozhraní soubory (např. obrázky)?
<HTML>Ota:
pomoci .htaccess</HTML>