DevProTalk

DevProTalk (http://www.devprotalk.com/index.php)
-   Sva početnička pitanja (http://www.devprotalk.com/forumdisplay.php?f=40)
-   -   Smanjenje slike u letu (valjda se tako kaze) (http://www.devprotalk.com/showthread.php?t=7557)

martinluter 03. 06. 2009. 19:21

Smanjenje slike u letu (valjda se tako kaze)
 
Imam jednu skriptu koja pozivom slike preko neke strane sajta umanjuje sliku na zeljene dimenzije, u letu.
Znaci slika se postavi u originalu na serveru i onda je preko ove skripte umanjuje na stranama sajta na zeljenu velicinu.
Problem je sto ista scripta, kod istog hosting provajdera, iste slike, na jednom mestu radi u potpunosti, a na drugom polovicno. I na jednom i na drugom mestu imam slike koje su jako velike od 2 do 8 Mb.
Na jednom mestu, ista skripta, umanjuje sve slike bez obzira na velicinu, dok na drugom mestu umanjuje samo manje slike dok ove velike nece.
Ono sto pitam vas je, da li se mogu na ovaj nacin (u letu) umanjivati ovako velike slike 8 Mb i da li je to ok?
I ako postoji neko objasnjenje, zasto na jednom domenu radi a na drugom ne, a karakteristike kupljenog hostinga su potpuno iste?

bOkIcA 03. 06. 2009. 20:09

Pretpostavljam da je u pitanju "memory limit".
Proveri sa phpinfo koliki je limit na jednom serveru a koliki na drugom.

Korekciju ako je dozvoljeno i ako je to u pitanju probas da uradis sa:
PHP kôd:

ini_set("memory_limit","32M"); 


bluesman 03. 06. 2009. 20:26

Nisi napisao kou tehnologiju koristiš. Da li GD library ili neki tool tipa imagamagick. Ako imaš velike fotke, ne preporučujem GD.

mangia 03. 06. 2009. 20:40

.... Facebook sve fotke cuva u 4 razlicite velicine... Tako da imaš na umu činjenicu da to može stvoriti određeni overhead ako bude previše posla za skriptu...

bluesman 03. 06. 2009. 20:50

^ ti si danas šizno ko ja ono pre neki dan? :) Nisi pogodio ni jednu temu :D Kakve veze ima facebook i 4 slike sa ovim?

razno 03. 06. 2009. 20:50

Deluje na GD. Povecace memory limita ce da radi dokle imas ram na serveru. GD svaki piksel cuva u 4 bajta pa ti vidi koliko ti treba za slike 2000x2000 ;)
Tranjnije i bolje resenje je da predjes na imagemagick

Dušan Dželebdžić 03. 06. 2009. 21:08

Citat:

Originalno napisao bluesman (Napišite 70131)
^ ti si danas šizno ko ja ono pre neki dan? :) Nisi pogodio ni jednu temu :D Kakve veze ima facebook i 4 slike sa ovim?

Poenta poruke je verovatno to da je mnogo bolje jednom umanjiti sliku na sve dimenzije koje koristiš i tako sačuvaš na disk, nego da cimaš GD svaki put kada prikazuješ sliku.

martinluter 03. 06. 2009. 21:54

Prvo hvala svima na odgovorima!
@bokica, moguce je da je problem u tome sto si ti naveo. Proverio sam phpinfo u oba slucaja i rezultat je da u prvom slucaju gde ne radi ova scripta memory_limit je 64M, a u slucaju gde radi 200M.
E sad nisam sigurann 100% da je do toga, posto si ti naveo da probam pomocu "ini_set("memory_limit","32M"); " gde si naveo da probam sa 32M, a ono je vec setovano na 64M. Probao sam da podignem na 100, pomocu ove funkcije ali nije htelo.
Da li je trenutnih 64M dovoljno za slike do 10Mb?

@blusheman, ne znam ti ja razliku izmedju imagamagick, GD tako da ne znam o cemu se radi u mom slucaju.

Ukoliko je velika posecenost sajta npr. da li bi ova scripta izazvala probleme, odnosno izazvala opterecenje memorije, pri cemu bi se znatno usporilo ucitavanje sajta?
Vidim da je neko predlozio da je bolje cuvati slike u dve velicine, koliko se vas slaze sa tim, posto je nekad potrebna manja slika velicine npr. 120x100px, a nekad veca ili manja?

evo dela scripte za JPG slike:

PHP kôd:

$dst_width  30;
$dst_height 30;
$ext strrchr($pic,'.');
if(
$ext==".jpg"){

header ("Content-type: image/jpeg");
$src imagecreatefromjpeg($pic);

if (!(
$dst = @imagecreatetruecolor($dst_width,$dst_height)))
{
    
$dst imagecreate($dst_width,$dst_height);    
}
imagecopyresampled($dst,$src,0,0,0,0,$dst_width,$dst_height,$src_width,$src_height);
imagejpeg($dst,'',$kvalitet);
imagedestroy($dst);
imagedestroy($src);



bluesman 03. 06. 2009. 22:18

Ovo sto ti radis je skoro pa krivicno delo :D

Šalim se... nisam te ja odmah razumeo da za svaki prikaz ti radiš resize. Nemoj to nikako da radiš, kada već imaš tu funkciju, stavi da se posle uploada radi to i čuva u file... bolje da čuvaš i 10 veličina slika pa da prikazuješ kako ti šta treba, nego da ovo radiš.

mangia 03. 06. 2009. 23:08

Upravo je to pisac htio reći.... :)


Vreme je GMT +2. Trenutno vreme je 13:31.

Powered by vBulletin® Verzija 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Copyright © DevProTalk. All Rights Reserved.

Mišljenja, saveti, izjave, ponude ili druge informacije ili sadržaji nastali na Sajtu su vlasništvo onoga ko ih je kreirao, a ne DevProTalk.com, tako da ne morate da se oslanjate na njih.
Autori poruka su jedini odgovorni za ovakve sadržaje. DevProTalk.com ne garantuje tačnost, kompletnost ili upotrebnu vrednost informacija, stavova, saveta ili datih izjava. Ne postoje uslovi pod kojima bi mi bili odgovorni za štetu ili gubitak koji je posledica bilo čijeg oslanjanja na nepouzdane informacije, ili bilo kakve informacije nastale kroz komunikaciju između registrovanih članova.
Web sajt može sadržavati linkove na druge web sajtove na Internetu ili neke druge sadržaje. Ne kontrolišemo niti podržavamo te druge web sajtove, niti smo pregledali bilo kakve sadržaje na takvim sajtovima. Mi nećemo biti odgovorni za legalnost, tačnost ili prikladnost bilo kog sadržaja, oglasa, proizvoda, usluga ili informacije lociranim na ili distribuiranih kroz druge web sajtove, niti za bilo kakvu štetu nastalu kao posledica takvih informacija. DevProTalk.com drži i čuva druga prava vlasništva na web sajtu. Web sajt sadrže materijale zaštićene copyright-om, zaštitne znakove i druge informacije o pravu vlasništva ili softver. Članovi mogu poslatu informacije zaštićene pravima vlasništva njihovih nosilaca i ona ostaju zaštićena bez obzira da li su oni koji prenose te informacije to naveli ili ne. Osim informacija koje su u javnom vlasništvu ili za koje dobijete dozvolu, nemate pravo da kopirate, modifikujete ili na bilo koji način menjate, objavljujete, prenosite, distribuirate, izvršavate, prikazujete ili prodajte bilo koju informaciju zaštićenu pravima vlasništva. Slanjem informacija ili sadržaja na bilo koji deo DevProTalk.com, Vi automatski dozvoljavate i predstavljate garanciju da imate pravo da dozvolite DevProTalk.com ili članovima DevProTalk.com bespovratnu, kontinualnu, neograničenu, globalnu dozvolu da koriste, kopiraju, izvršavaju, prikazuju i distribuiraju takve informacije i sadržaje i da iz takvih sadžaja koriste bilo koji deo u bilo koje svrhe, kao i pravo i dozvolu da koriste gore navedene sadržaje. Svi zaštitni znakovi (trademarks), logotipi, oznake usluga, firme ili imena proizvoda koji se pominju na ovom web sajtu su vlasništvo kojim raspolažu njihovi vlasnici.