Newsgroup: it.comp.www.php
Titolo: Creazione immagini memoria esaurita

Salve!
Ho un grosso problema con la mia gallery in php. Faccio uplodare una 
immagine di tipo jpg che viene salvata nella cartella temporanea, viene 
aperta, ridimensionata e salvata come thumb e la stessa cosa (con dimensioni 
più grandi) viene rifatta per l'immagine a dimensioni normali. Lo script 
funziona perfettamente per immagini fino a 1280x960, se provo a dargli una 
immagine di 1600x1200 alla fine dello script il server mi dice che non c'è 
memoria per completare l'operazione! Come posso fare?
S. 

 l'operazione! Come posso fare?
Configura php in modo da poter utilizzare piu' memoria.
IMHO far fare il resize di immagini cosi' grandi lato server e'
rischioso.
-- 
I am what I am, I do what I can
Sei un newbie? Leggi questo 
http://url.repository.biz/go/3C
Vuoi supportarmi? 
http://url.repository.biz/go/3E
Do. Or do not. There is not try.

Dici che sarebbe meglio far fare i 2 resize ad esempio con un javascript in 
locale e poi uplodare?
Sul mio dominio non penso che posso mettere mano al file di configurazione, 
c'č modo di farlo da codice? Cmq adesso la dimensione massima č di 8 MB e 
dubito che il mio host mi permetta di aumentarla a piacimento......
Grazie
S.
"Setec Astronomy" <setec@_NO_NOSPAM_freemail.it> ha scritto nel messaggio 
news:SRN2e.37576$zZ1.1...@twister1.libero.it...


 dubito che il mio host mi permetta di aumentarla a piacimento......
Un'immagine 1600x1200 occupa 7680000 bytes. Aggiungici la miniatura e lo
script, e sfori tranquillamente gli 8 Mb.
Io impedirei all'utente di uploadare immagini cosi` grandi, e se insiste
che lo deve fare, meglio farglielo fare da Photoshop/Gimp che non via JS
(che non credo abbia funzionalita` di elaborazione immagine).
Bye.
-- 
Alessandro Pellizzari

 wrote:

Ho avuto lo stesso problema un po' di tempo fa (prima di passare a
imagemagik) e temporaneamente avevo risolto "pulendo" un po' il codice.
In due semplici parole: PHP gestisce (ovviamente) tutte le operazioni in
memoria, che svuota solo al termine dello script; quindi se $image
contiene l'immagine originale, quella variabile rimarrà "piena" finchè
lo script non termina. Con un po' di accortezza, cerca di capire quando
allo script non interessano più i dati delle immagini e "svuota" le
variabili, in modo che venga liberata memoria.
Ad esempio:
$immagine contiene l'immagine originaria
$thumb contiene l'immagine ridimensionata
$immagine2 contiene il secondo "passaggio" che fai all'immagine
originaria.
Tenendo tutti questi dati in memoria, è facile che il memory limit di
php entri in azione bloccando l'esecuzione dello script; se però dopo
aver creato il thumb svuoti $thumb (e tutte le altre variabili dove
probabilmente hai memorizzato i dati temporanei per la creazione della
thumbnail) avrai "nuova" memoria a disposizione e potrai continuare a
lavorare.
In ogni caso, come già detto, occhio che anche una sola immagine molto
grande ti può saturare la momoria a disposizione del PHP (ad esempio le
immagini caricate direttamente dalle macchine digitali che scattano ad
alta risoluzione). Se la tua macchina/hosting te lo permette, usa
imagemagik via system(): molto più ottimizzato, più semplice, più ricco
di funzioni e via dicendo! ^_^
Ciao!
--ev

 configurazione, c'h modo di farlo da codice?
Solo tramite .htaccess se sei abilitato per farlo.
Please 
http://wiki.news.nic.it/QuotarBene
