<?
// REDIMENCIONAR IMAGENS //
function upload($tmp, $arquivo, $max_x, $max_y, $pasta){
   //$max_x = 800 $max_y = 630
   $img		=	imagecreatefromjpeg($tmp);
   $original_x	=	imagesx($img); //largura
   $original_y	=	imagesy($img); //altura
   $diretorio	        = 	$pasta."/".$arquivo;
   // verifica se a largura ou altura da imagem é maior que o valor
   // máximo permitido
   if ( ( $original_x > $max_x ) || ( $original_y > $max_y ) ){
	// verifica o que é maior na imagem, largura ou altura?
        if ( $original_x > $original_y ) {	
		$max_y	= 	( $max_x * $original_y ) / $original_x;
	}else{
		$max_x	= 	( $max_y * $original_x ) / $original_y;
	}
	$nova = imagecreatetruecolor($max_x, $max_y);
	imagecopyresampled($nova, $img, 0, 0, 0, 0, $max_x, $max_y, $original_x, $original_y);
	imagejpeg($nova, $diretorio);
	imagedestroy($nova);
	imagedestroy($img);
   // se for menor, nenhuma alteraçao é feita 
   }else{
	imagejpeg($img, $diretorio);
	imagedestroy($img);
   }
   return($arquivo);
}

// TRATAR NOME DE ARQUIVOS DE UPLOAD //
function tratar_arquivo_upload($string){
   // pegando a extensao do arquivo
   $partes 		= explode(".", $string);
   $extensao 		= $partes[count($partes)-1];	
   // somente o nome do arquivo
   $nome			= preg_replace('/\.[^.]*$/', '', $string);	
   // removendo simbolos, acentos etc
   $a = 'ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõöøùúûüýýþÿRr?';
   $b = 'aaaaaaaceeeeiiiidnoooooouuuuybsaaaaaaaceeeeiiiidnoooooouuuuyybyRr-';
   $nome = strtr($nome, utf8_decode($a), $b);
   $nome = str_replace(".","-",$nome);
   $nome = preg_replace( "/[^0-9a-zA-Z\.]+/",'-',$nome);
   return utf8_decode(strtolower($nome.".".$extensao));
}

/*
 * para utilizar a função
 *
 * $filename = tratar_arquivo_upload(utf8_decode($file['name']));
 * @$filename = nome do arquivo já tratado
 */
?>