Autor Zpráva
radas
Profil *
zdravím,
mam takový dotaz, možna je hloupy,ale raději se zeptam. Na stránkach mam vypis položek a ke každé položce je několik obrazku. A můj dotaz zni jestli je lepši mit obrazky uložene pod takovou cestou :
../picture/polozka1/1.jpg ../picture/polozka1/2.jpg,../picture/polozka2/3.jpg,../picture/polozka 3/4.jpg
nebo to nevadi a může to být
../picture/1.jpg,../picture/2.jpg,../picture/3.jpg atd..
co bude pro server míň zatěžující? jo a těch položek bude řádově tisice...
vydrus
Profil
radas
Nebude to zatěžovat víc v žádném případě.
Tomasds
Profil
Už se to tady řešilo.
Někdo psal něco o limitu 2000 souborů v jedné složce (nějaké omezení ze strany php), ale nikde jsem o tom nic nenašel, takže to bude asi nesmysl.

Pokud tento limit neexistuje, tak větvení složek je čistě na tobě. Udělej to tak, aby ta struktura byla přehledná.
armin
Profil
radas: Pokud se bude jednat o radove tisicky souboru (adresaru) v jednom adresari, jedna se o spatnou strukturu a bude to delat potize. Proto je lepsi druha varianta. Omezeni v php neni zadne, ani v operacnim systemu, jedine omezeni (defaultni hodnota) je v ftp serveru, kdy se ti konkretni adresar jevi jako by mel pouze 1998 souboru (limit na 2000 souboru), ale soubory se na ftp nachazi. Tento limit je z duvodu exponencialne narustajicich naroku na cteni takoveho mnozstvi souboru v ramci jednoho adresare. Takze na 100% ti doporucuji nepresahovat 1000-1500 souboru (adresaru) v jednom adresari. Pokud me vemes za slovo a dosahnes tak detailni adresarove struktury ze budes mit v 1 adresari 4500 podadresaru, tak to je opet spatne.
Tomasds
Profil
armin
Dík za první konkrétní informaci, kterou jsem na to téma dostal.
radas
Profil *
jo ja si pravě udělal podle toho prvního způsobu protože bych se v tom asi pak nevyznal..ale chtěl jsem se zeptat...ještě mě napadla jedna věco ohledně sevru možna to bude i ze strany php...mam takové zpracovaní obrazku

     //zpracovani obrazku
 $sirka=160;
 $vyska=160;

        $pripona = pathinfo("../produkt/picture/".$soubor, PATHINFO_EXTENSION);
        if($pripona=="jpg" or $pripona=="JPG"){
           $soubor1=$zaznam[0]."-".$nazev."_full.".$pripona;
  $puvodniobrazek="../produkt/picture/".$soubor;
   $dataobrazku = getimagesize("../produkt/picture/$soubor");
   if ($sirka && ($dataobrazku[0] < $dataobrazku[1])): 
         $sirka = ($vyska / $dataobrazku[1]) * $dataobrazku[0];
   
   else:
         $vyska = ($sirka / $dataobrazku[0]) * $dataobrazku[1];
  
   endif;
   
   $nahled = ImageCreateTrueColor($sirka,$vyska);
   $obrazek = ImageCreateFromJpeg($puvodniobrazek);
   imagecopyResampled ($nahled, $obrazek, 0, 0, 0, 0, $sirka, $vyska, $dataobrazku[0], $dataobrazku[1]);
   ImageJpeg($nahled, $puvodniobrazek, 70);


tato čast scriptu funguje dobře, když zpracovana obrazky jpg v rozlišeni 1024*756 je to v pohodě..ale když dam obrazek ke zpracovani v rozlišeni 3456*2304 tak prostě to nefunguje! taky nevím proč...
radas
Profil *
radas: Pokud se bude jednat o radove tisicky souboru (adresaru) v jednom adresari, jedna se o spatnou strukturu a bude to delat potize. Proto je lepsi druha varianta. Omezeni v php neni zadne, ani v operacnim systemu, jedine omezeni (defaultni hodnota) je v ftp serveru, kdy se ti konkretni adresar jevi jako by mel pouze 1998 souboru (limit na 2000 souboru), ale soubory se na ftp nachazi. Tento limit je z duvodu exponencialne narustajicich naroku na cteni takoveho mnozstvi souboru v ramci jednoho adresare. Takze na 100% ti doporucuji nepresahovat 1000-1500 souboru (adresaru) v jednom adresari. Pokud me vemes za slovo a dosahnes tak detailni adresarove struktury ze budes mit v 1 adresari 4500 podadresaru, tak to je opet spatne.
takže bych to měl nějak ošetřit jestliže je v adresaři 1800 souboru vytvoř novy adresař?
armin
Profil
radas: Nefunguje, protoze v php bude nejspis standarni hodnota u direktivy memory_limit. Pokud je spravne zapnuty error reporting, melo by ti to u velikeho obrazku spadnout chybovou hlaskou - neco ve stylu memory overflow (preteceni pameti).

Upravy:

if($pripona=="jpg" or $pripona=="JPG"){
na toto:
if(strtolower($pripona)=="jpg"){

Pak kdyz uz se pouziva if/else, tak je to asi vec zvyku, osobne pouzivam strukturu:
if (neco) {
udelej toto;
} else {
udelej tamto;
}

Proste struktura nepripominajici switch() + case '': + break;
armin
Profil
radas: takže bych to měl nějak ošetřit jestliže je v adresaři 1800 souboru vytvoř novy adresař?
Ano, a sel bych s tim cisle poradne dolu. Kolik predpokladas obrazku? 8000? Tak si udelej 20 adresaru po 400 obrazcich a neni co resit.
radas
Profil *
jen taková poznámka, nedalo mi to a zeptal jsem se dvou různých poskytovatelů webhostingu oba mi tvrdilo totožné věci že pokud těch souboru nebude řádově statisíce tak by to neměl byt problém takže jsem zase tak gde jsem byl...
Nox
Profil
radas
Myslim že není takový problém to udělat arminovou cestou a pokud někdo řekne, že je něco jedno a druhý že na tom záleží a pokud
ošetřit to způsobem, aby to vyhovělo i druhému, není problém, pak nevím proč to tak neudělat

A armin je taky poskytovatel webhostingu;)
armin
Profil
radas: Pokud jsi na vazkach, tak si na vlastnim pc doma nakopiruj / vytvor v jednom adresari 10-12 tisic souboru, cely den normalne pracuj na pc (nebo ho zrestartuj) - proste at to neni v ramce, a zkus vlezt do tohoto adresare a poznas sam na vlastni kuzi zda je to to prave orechove ci nikoliv. Ja jsem svuj nazor vyjadril, pokud myslis ze je to zbytecne, tak si to klidne mysli a udelej to tak ze vse bude v 1 adresari. Konkretni webhoster bude mit radost.

Vaše odpověď

Mohlo by se hodit

Příspěvky nesouvisející s webem budou odstraněny.

Odkud se sem odkazuje


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: