Originariamente inviato da Queer
ottimo! funziona!!!
ultima cosuccia: e se io volessi resizarla prima di caricarla? diciamo che se ha dimensioni superiori a 500 * 600 ridimensionarla in proporzione? so che esiste una funzione getimagesize ma sono in alto mare
Devi usare le librerie GD...
Ti passo una funzione che uso per questo genere di lavori:
codice:
//Funzione per creare un'immagine temporanea. Bisogna inserire il tipo di immagine, la larghezza (l'altezza verrà calcolata in proporzione) e il nome del file di destinazione
function create_image($img_type, $larg_foto, $destinazione){
global $immagine;
if ($img_type == ".jpg") {
$img = imagecreatefromjpeg($_FILES['art_foto']['tmp_name']); # carica in $img la foto da resizare
$dx = imagesx($img); # estrae larghezza immagine
$dy = imagesy($img); # estrae altezza immagine
$ndx = $larg_foto; # nuova larghezza immagine
$ndy = ($dy / ($dx/$ndx)); # nuova altezza immagine
$img_tc = imagecreatetruecolor ($ndx,$ndy);
imagecopyresampled($img_tc,$img,0,0,0,0,$ndx,$ndy,$dx,$dy);
imagejpeg($img_tc, $destinazione, 85);
}
else {
$img = imagecreatefromgif($_FILES['art_foto']['tmp_name']); # carica in $img la foto da resizare
$dx = imagesx($img); # estrae larghezza immagine
$dy = imagesy($img); # estrae altezza immagine
$ndx = $larg_foto; # nuova larghezza immagine
$ndy = ($dy / ($dx/$ndx)); # nuova altezza immagine
$img_tc = imagecreatetruecolor ($ndx,$ndy);
imagecopyresampled($img_tc,$img,0,0,0,0,$ndx,$ndy,$dx,$dy);
imagegif($img_tc, $destinazione);
$immagine = $destinazione;}
}
Si usa così:
create_image("jpg", "450!", "./immagini/$quellochevuoi/mianonnaincariola.jpg")
Ho creato anche un'altra piccola funzione che determina se il file sia una .jpg o una .gif, in caso contrario blocca lo script.
Dopo aver caricato la foto temporaneamente questa rimarrà sul server, con dei cicli potrai far sì che l'immagine temporanea venga rinominata con il nome che vuoi.
Spero di esserti stato di aiuto in qualche modo...