nn riesco a trovare l'imguippo...
se può servire posto i codici interi
image.class.php
e il file dove fa l'upload ecccodice:class Image{ var $src_filename; var $src_witdh; var $src_height; var $src_type; var $src_attr; var $src_image; function Image($filename){ $this->src_filename = $filename; $this->GetImageInfo(); } function GetImageInfo(){ list($this->src_width,$this->src_height, $this->src_type, $this->src_attr) = getimagesize($this->src_filename); } function CreateSourceImage(){ switch($this->src_type){ case 1: $this->src_image =imagecreatefromgif($this->src_filename); break; case 2: $this->src_image =imagecreatefromjpeg($this->src_filename); break; case 3: $this->src_image =imagecreatefrompng($this->src_filename); break; default: return false; } return true; } function SaveProportionateImage($filename, $quality, $height){ $dest_height = $height; $ratio = $this->src_height / $dest_height; $dest_image = imagecreatetruecolor( $this->src_width / $ratio,$dest_height); imagecopyresampled($dest_image, $this->src_image, 0, 0, 0, 0, $this->src_width / $ratio, $this->src_height / $ratio, $this->src_width, $this->src_height); imagejpeg($dest_image, $filename, $quality); imagedestroy($dest_image); } function Free(){ imagedestroy($this->src_image); } }
codice:$dir_upload=(substr($dir_upload,-1) != "/" && $dir_upload != "") ? $dir_upload."/" : $dir_upload; define("DIR_UPLOAD",$dir_upload); define("CHMOD_DIR",$chmod_dir); define("DEBUG",$debug); define("SOVRASCRIVI_FILE",$sovrascrivi_file); define("DIM_MASSIMA",$dim_massima*1024); define("CHECK_TIPI",$check_tipi); define("TIPI_PERMESSI",implode("|",$tipi_permessi)); class upload { var $up_dir; //la directory temporanea in cui verrà uploadata l'img var $filename; //il nome del file function upload(){ } function caricafile(){ //mkdir($_POST['upload'], 0700); //comando per creare una directory //CODICE PER L'UPLOAD CON VARI CONTROLLI if (count($_FILES) > 0){ $numero_file= count($_FILES['file']['tmp_name']); for($i=0;$i<$numero_file;$i++){ if($_FILES['file']['size'][$i] == 0){ echo "L'UPLOAD DEL FILE {$_FILES['file']['name'][$i]} NON E' ANDATO A BUON FINE! \n"; unset( $_FILES['file']['name'][$i]); unset( $_FILES['file']['type'][$i]); unset( $_FILES['file']['size'][$i]); unset( $_FILES['file']['error'][$i]); unset( $_FILES['file']['tmp_name'][$i]); } } $numero_file=count( $_FILES['file']['tmp_name']); echo "Hai caricato $numero_file file(s)"; echo " \n"; foreach($_FILES['file']['name'] as $chiave=>$valore){ if (DEBUG == 1){ echo "Nome file: ".$_FILES['file']['name'][$chiave]." \n"; echo "Tipo file: ".$_FILES['file']['type'][$chiave]." \n"; echo "Dimensione: ".$_FILES['file']['size'][$chiave]." byte \n"; echo "Nome temporaneo: ".$_FILES['file']['tmp_name'][$chiave]." \n"; } if (is_uploaded_file( $_FILES['file']['tmp_name'][$chiave])){ if ($_FILES['file']['size'][$chiave] <= DIM_MASSIMA){ if(CHECK_TIPI == 0 || (CHECK_TIPI == 1 && in_array( $_FILES['file']['type'][$chiave], explode("|",TIPI_PERMESSI)))){ if(!is_dir(DIR_UPLOAD) && DIR_UPLOAD != ""){ if( !@mkdir(DIR_UPLOAD,CHMOD_DIR)) die("ERRORE NELLA CREAZIONE DELLA DIRECTORY ".DIR_UPLOAD.""); } if(!file_exists(DIR_UPLOAD.$_FILES['file']['name'][$chiave]) || SOVRASCRIVI_FILE == 1){ if (@move_uploaded_file( $_FILES['file']['tmp_name'][$chiave], DIR_UPLOAD.$_FILES['file']['name'][$chiave])) echo "FILE {$_FILES['file']['name'][$chiave]} TRASFERITO!"; else die("ERRORE NEL TRASFERIMENTO DEL FILE ".$_FILES['file']['name'][$chiave].""); } else echo ("IL FILE ".$_FILES['file']['name'][$chiave]." E' ESISTENTE!"); } else echo ("IL TIPO DI FILE ".$_FILES['file']['type'][$chiave]." NON E' CONSENTITO!"); } else echo ("LA DIMENSIONE DEL FILE ".$_FILES['file']['type'][$chiave]." NON E' CONSENTITA!"); } else die("ERRORE NEL TRASFERIMENTO DEL FILE ".$_FILES['file']['name'][$chiave].""); echo "<hr />\n"; } } include('config2.php'); if(!isset($_FILES)) $_FILES = $HTTP_POST_FILES; if(!isset($_SERVER)) $_FILES = $HTTP_POST_VARS; $up = new Upload(TMP_DIR); //$up->RenameFile($_POST['new_name']); $up->Upload($_FILES['file']); //adesso ridimensiono l'img a 400 x 400 include_once 'image.class.php'; $img = new Image(TMP_DIR . '/' . $up->filename); //creo l'immagine sorgente $result = $img->CreateSourceImage(); //se il tipo di immagine è supportato //salvo 2 file: //uno con l'img grande e uno con l'img piccola //nelle rispettive directory if($result){ //salvo l'immagine con altezza 400 lasciandola proporzionata $img->SaveProportionateImage(IMAGE_DIR . '/' . $up->filename, IMAGE_QUALITY, IMAGE_HEIGHT); //salvo l'immagine con altezza 75 lasciandola proporzionata $img->SaveProportionateImage(THUMB_DIR . '/' . $up->filename, THUMB_QUALITY, THUMB_HEIGHT); //libero la memoria cancellando l'immagine sorgente $img->Free(); } //se il tipo di img non è supportata //o se il file uploadato nn è un immagine else echo 'Immagine non valida '; //In ogni caso cancello il file uploadato nella cartella ./tmp //$up->DeleteFile(); //funzione non creata echo 'Guarde le immagini'; }

Rispondi quotando