PHPBBIntegrare PHPBB PHPFunzioni PHP CFunzioni C EcologiaLa mia ecologia   Chi siamoChi è Senamion HomeHome page corner Il Web e l'ecologia

Senamion


Chi siamo:

Il web e l'ecologia, condividere il web e un momento di riflessione sullo stato dell'ecologia e sul suo futuro

Google

[PHP] Errore con immagini di grandi dimensioni (imageCreateFromJpeg)

25 Giugno 2006 by Giovanni | Argomenti: none | 9926

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 |

4 Commenti a “[PHP] Errore con immagini di grandi dimensioni (imageCreateFromJpeg)”

  1. Antonio scrive:

    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?

  2. Giovanni scrive:

    In caso di utilizzo di PHP sicuramente l’hosting linux è più indicato.

  3. juggler scrive:

    grazie!!

  4. moreno scrive:

    ciao anchio ho questo problema, mi sono fatto creare uno scrip plp, per consentire a dei miei colleghi di farmi l’upload sulla cartella public, ma file tipo 60mg non ci vanno. con questo sistema riesco risolvere anchio???
    devo crearmi un fiel di testo con questa stringa?? ini_set(”memory_limit”, “99M”);
    rinominandolo con php.ini???
    dove devo salvarla sulla catella public, o alla radice del sito!! grazie dell’info…

Scrivi un commento