[PHP] Errore con immagini di grandi dimensioni (imageCreateFromJpeg)
Giovanni
| Argomenti: php, imagecreatefromjpeg, immagini, errori | 4942
La libreria GD del PHP per la gestione dell’immagine é una libreria molto potente e sofisticata. L’unico problema consiste nella modalità in cui le immagini vengono memorizzate che porta dei problemi di gestione della memoria in caso di foto molto grandi.
Utilizzando infatti funzioni come la imagecreatefromJpeg la memoria occupata non é uguale alla dimensione del file immagine, bensì é il risultato della moltiplicazione tra larghezza per altezza per numero di bit utilizzati per i colori.
Utilizzando immagini scaricate dalle moderne macchine fotografiche questo valore può essere anche molto alto e sfondare i limiti di memoria accettati da PHP.
La soluzione consiste nell’aumentare questi limiti, le modalità posso essere diverse:
- modifica del parametro php_value memory_limit all’interno del file php.ini (il valore da inserire é in byte)
- aggiunta / modifica del parametro php_value memory_limit all’interno del file .htaccess (il valore da inserire é in byte)
- impostazione all’interno dello script php del limite di memoria attraverso la funzione: ini_set(”memory_limit”, “128M”); dove 128M significa 128 Mega Byte
Tutte le soluzioni proposte sono valide, ma per la prima occorre avere accesso al file php.ini, e quindi difficilmente é praticabile in caso di server condivisi.
La seconda é valida se si può gestire il file .htaccess, normalmente si utilizza su sistemi unix ed é un file da aggiungere nella root del proprio ambiente.
La terza essendo a livello di programmazione PHP é sicuramente attuabile da tutti.
In ogni caso é possibile, soprattutto nel secondo e terzo caso, che l’aumento dei limiti si scontri contro parametri di sistema invalicabili e quindi che non si riesca ad ottenere il risultato richiesto.
Pubblicato in Funzioni e classi PHP e C |
6 Giugno 2007 alle 13:00
Quindi da come ho capito io per gestire un sito con upload di immagini e video devi avere per forze un hosting linux per non avere problemi.
VERO?
6 Giugno 2007 alle 18:22
In caso di utilizzo di PHP sicuramente l’hosting linux è più indicato.
25 Agosto 2007 alle 15:24
grazie!!