| [PHP] skladiščenje naloženih datotek uporabnikov | ||
|---|---|---|
| php.programer20. sep 2011 21:31:09Pridružen od: 20. sep 2011 53 objav +11-50 | #1Pozdravljeni! Zanima me, kako je najboljše "skladiščiti" naložene datoteke uporabnikov. Recimo, da uporabniki naložijo 30.000 datotek vsega skupaj. Zanima me, ali je dobro skladiščiti datoteke v eni mapi, ali recimo po 100 datotek v mapo in se ustvarjajo dodatne mape, ko je recimo v eni mapi 100 datotek? Če je naloženih datotek recimo 30.000, potem je na takšen način ustvarjenih 300 map. Ali je to primerna rešitev? kakšne so vaše izkušnje s tem in kaj predlagate (obstajajo kakšne rešitve)? Gre za PHP. Hvala za vaše odgovore. všeč(0)ni všeč(0)spam(0) | |
| php.programer20. sep 2011 22:02:55Pridružen od: 20. sep 2011 53 objav +11-50 | #2any idea? ali je čisto vredu, če se 30.000 datotek shranjuje v eno mapo? všeč(0)ni všeč(0)spam(0) | |
| Lucifix20. sep 2011 22:05:16Pridružen od: 14. okt 2008 557 objav +219-90 | #3 Zanima me, ali je dobro skladiščiti datoteke v eni mapi, ali recimo po 100 datotek v mapo To verjetno ne bo najbolje, ker ne boš mogel preverjati v katero mapo spada določena datoteka. Sam bi uporabil dva načina: 1. Solitranje pod datumu: mape se kreirajo pod datumih: 2011/09/20 Se pravi prva mapa je letnica, druga mesec in potem dan. Seveda pa bo to najlažje če imaš datoteke povezane z recimo mysql bazo, kjer je shranjen datum nalaganja 2. Solitanje po ID uporabniku. Čeprav zna tukaj nastati problem, če boš imel recimo 3.000 uporabnikov. To pa je kar velika količina map. Toliko zaenkrat z moje strani, lahko pa da bo kdo drug imel dosti boljšo rešitev. všeč(0)ni všeč(0)spam(0) | |
| blackmamba20. sep 2011 22:06:48Pridružen od: 4. mar 2008 307 objav +163-101 | #4Sem imel primer, ko je imela spletna stran več kot 30000 slik v eni mapi. Na strani so se slike normalno prikazovale, če sem pa s filebrowserjm hotel mapo odpret, sem se pa kar pošteno načakal. Zmisli si nek simple sistem shranjevanja datotek. npr: datoteka.jpg Če boš naredil vsaj 1 podmapo npr. s prvo črko imena datoteke, boš pri 30k datotekah že veliko naredil. primer: Datoteka "datoteka.jpg" se shrani v mapo /d/datoteka.jpg Lahko pa iz filenama zgeneriraš nek hash, kot to naredi phpThumb in poljubno razvejaš direktorijsko strukturo. npr md5("datoteka.jpg") = d1148913c00c582e84b99a7857a97a1f To se lahko shrani v /d/1/1/datoteka.jpg ,.... Lahko bi tudi generiral mape glede na datum vnosa datoteke. /2011/9/datoteka.jpg Lahko pa vse skupaj shraniš tudi v bazo. Možnosti je veliko, lahko se za katero odločiš ali pa tudi ne. Pri 30000 nebo konec sveta če imaš vse v 1 mapi :) všeč(0)ni všeč(0)spam(0) | |
| SpinX20. sep 2011 22:16:30Pridružen od: 17. mar 2007 2579 objav +1323-14412 | #5Odvisno kok si hočeš zagrenit življenje :) Če delaš nek projektič katerega uspeh ni zagotovljen potem šopaj vse v eno mapo in se posveti drugim bolj pomembnim zadevam. Spremeniš lahko, ko boš imel res preveč datotek. ali pa: Mape in podmape glede na prva dva znaka v imenu datoteke. Dobiš tako strukturo: /a/b/abakus.jpg /a/n/aneks.jpg /a/v/avto.jpg /a/1/a1.jpg Tko mislim, da ima tudi Magento to rešeno. všeč(0)ni všeč(0)spam(0) | |
| php.programer20. sep 2011 22:22:05Pridružen od: 20. sep 2011 53 objav +11-50 | #6hvala za odgovore!! bom uporabil, da se generirata podmapi na prva dva znaka! všeč(0)ni všeč(0)spam(0) | |
| Lucifix20. sep 2011 22:25:05Pridružen od: 14. okt 2008 557 objav +219-90 | #7Potem pa bodi samo pozoren, da boš pred tem preverjal imena datotek: #$%.jpg všeč(0)ni všeč(0)spam(0) | |
| Gogy20. sep 2011 23:44:03Pridružen od: 17. mar 2007 1575 objav +1118-1718 | #8Če gre za slike bo tako verjetno kar ok, sicer pa če delaš kaj drugega lahko delaš mesečne mape v smislu 201108 201109 201110 všeč(0)ni všeč(0)spam(0) | |
| skyx21. sep 2011 02:00:19Pridružen od: 19. jul 2010 208 objav +90-213 | #9Pozoren bodi kater filesystem uporabljas na strezniku, ce je linux je ponavadi ext3. Primer: Za vsako podjetje ustvaris novo datoteko in imas okoli 90k podjetij, ti ze v naprej povem da ti ne bo dovolilo ustvariti toliko datotek + vse skupaj bo zelo stekalo oziroma sploh ne bos moral vec delati z mapo v kateri bi imel datoteke podjetij :) Svetujem da dobro razmislis preden se lotis dela, ce bos imel velike stevilke :P FAT32: Maximum number of files: 268,435,437 Maximum file size: 4GB maximum number of files per directory: 65535 NTFS: Maximum number of files: 4,294,967,295 Maximum file size: 16TB currently (16EB theoretically) Ext2: Maximum number of files: 10¹⁸ Maximum file size: 2TB theoretical file per directory limit: 1.3 × 10²⁰ files Ext3: Maximum number of files: number of bytes in volume/2¹³. Maximum file size: 16GB (1KB block) to 2TB (4KB block) The correct number is 31998 (ext3, max sub-directories per one directory). všeč(0)ni všeč(0)spam(0) Tudi Urban bloga ... PHP / MySQL / jQuery / SEO / Linux / FB | |
stran 1 od 1 |<<1>>| | ||
