Vai al contenuto

Upload/ridimensionamento immagini e memoria


magomac

Messaggi raccomandati

Ciao a tutti!

Ho bisogno di realizzare (php) un form che permetta all'utente di uploddare un immagine. Questa poi deve essere automaticamente ridimensionata e ritagliata per creare DUE versioni a dimensioni diverse (circa 600x400 la prima e 200 x 200 la seconda).

Mischiando le mie conoscenze con qualche script trovato in giro sarei riuscito a fare quello che mi serve... ma....

finchè carico immagini di piccole dimensione nessun problema.

Se carico una foto vera e propria (2/3 MB) il file si carica, la prima versione piccola viene generata ma la seconda no.

Analizzando i log ho capito che lo script si blocca perchè viene superata la memoria disponibile massima di 32 MB.

A parte che non riesco ad immaginare come faccia a raggiungere 32MB con una foto da 2MB... C'è un modo per far si che la memoria venga "svuotata" tra un passaggio e l'altro (tanto alla fine di ogni passaggio il file viene salvato in un'apposita cartella sul server)?

Grazie!

Link al commento
Condividi su altri siti

fai stampare a video, nei vari punti chiave dello script, la quantità di memoria allocata dallo script stesso.

usa la funzione

memory_get_usage()

che restituisce il valore in bytes.

per "svuotare la memoria" ci sono diversi modi, più o meno efficienti, che dipendono anche dalla versione di PHP che stai usando (nelle più recenti c'è il garbage collector che funziona piuttosto bene....ma in quelle precedenti la cosa è un po' diversa).

il metodo più semplice è usare "unset" per le variabili quando non servono più....ma con gli oggetti non sempre libera tutta la memoria allocata.

un altro modo è far eseguire il lavoro ad un altro processo che non sia figlio dello script....la cosa è un po' complicata, prima proverei ad ottimizzare il codice.

c'è da dire che comunque 32MB sono abbastanza pochi. ultimamente i server hanno come limite 64MB (i più scarsi) e quelli professionali anche 128 o 256.

se vuoi più aiuto, devi postare del codice.

An  a tuesday keeps the doctor away.

proud member of < noi finti professionisti > club - tessera 044

Link al commento
Condividi su altri siti

Archiviato

Questa discussione è archiviata e chiusa a future risposte.

×
×
  • Crea Nuovo...