Autor | Zpráva | ||
---|---|---|---|
BuGeR Profil |
#1 · Zasláno: 16. 12. 2011, 20:59:27 · Upravil/a: BuGeR
Zdravím.
Vytvořil jsem si galérii. V databázi mám tyto tabulky: folders > albums > photos (Jsou vzájemně propojeny - photos náleží albums - albums náleží folders). Nyní si chci vypsat všechny obrázky (photos) z databáze (v tabulce mám adresy obrázku, které jsou na serveru ve složce). Použiju tento kód: <?php ... $album = -- zde vybíram album, které náleží fotce -- $folder = -- zde vybíram složku (folder) která náleží albu -- $db_photos = lfquery("SELECT * FROM photos WHERE album='".$album["id"]."'"); while($photo = lfarray($db_photos)) { $photo_img = MEDIA."gallery/".$folder["folder"]."/".$album["filefolder"]."/mini_".$photo["url"]; echo "<a href='gallery.php?folder=".$folder["id"]."&album=".$album["id"]."&photo=".$photo["id"]."'>"; echo "<img src='".$photo_img."' title='".$photo["title"]."' alt='".$photo["title"]."' border='0' />"; echo "</a>"; } ... ?> - její normalní verze (např. adresa.jpg) - a její zmenšena verze (např. mini_adresa.jpg) Pro kód výše si zobrazím pouze zmenšenou verzi (takže si načtu adresu z databáze, a vložím před ní mini_). Vše funguje jak má, jenže problém nastává tehdy, kdy mám v databázi třeba 30 fotek (na serveru ve složce tedy 60 -30 původních a 30 zmenšených), a vypíšu si je tím kódem, stránka načítá zhruba minutu - ale pouze jednou, když už tu stránku kompletně mám načtenou, a načtu ji znova, načte se hned (v řádech ms). To znamená, že prostě nějakou chvíli trvá, než se ty fotky všechny načtou z databáze a potom zobrazí. Jenže to se mi nezdá - zas takový těžký kód nevykonávám (pouze vycucnu adresy obrázku z databáze, strčím před ně mini_, a následně je vypíšu). Co způsobuje to, že se to načítá tak dlouho? Díky všem. |
||
Kry5 Profil |
#2 · Zasláno: 16. 12. 2011, 21:11:47
Nenahráváš třeba ty fotky nějak omylem na server znovu? Resp. jestli je nevytváříš? Stačí kdybys tam měl jeden příkaz, kterej tu fotku pak uloží znovu (a přepíše původní soubor) a může to rapidně ovlivnit délku načítání.
|
||
BuGeR Profil |
#3 · Zasláno: 16. 12. 2011, 21:15:40
Ne, ty fotky pouze nahraju na server a vytvořím (při nahravání) její zmenšenou kopii.
Potom vytáhnu z databáze adresy, dám před ně mini_ a vypíšu je. |
||
Segi_L Profil |
#4 · Zasláno: 16. 12. 2011, 22:03:14
A nie je to napriklad kvoli tomu, že sa načítajú obrázky a pri druhom pokuse tie obrázky už máš u seba v cache, tak sa zobrazia rychlejšie? Nič iné ma nenapadá.
|
||
Beavis Profil |
#5 · Zasláno: 16. 12. 2011, 22:18:23
Segi_L:
Tohle je vcelku jasné, že jak se dostanou do cache, bude to načtené bleskurychle. BuGeR: Nic mne nenapadá, jaké rozlišení a velikost mají ty fotky s prefixem mini_? |
||
BuGeR Profil |
#6 · Zasláno: 16. 12. 2011, 22:58:06
Beavis:
Obrázky mají přibližně 130x130px, a jsou +- 14 kb velké |
||
Časová prodleva: 12 let
|
0