Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
A partir desse código você pode enviar a imagem, empacotar o nome dela evitando o uso de caracteres especiais em seu nome, redimensionar e gravar.
A imagem é grava em um diretório e em seguida é sobreposta por uma imagem com o mesmo nome, mas tamanho diferente.
Uso o código e não encontrei erros. Qualquer coisa postem os erros. Valeu!
/*
Para usar a funcao basta inseir na pagina o seguinte codigo:
<?PHP
$arquivo = upload($_FILES['arquivo'],'diretorio/');
?>
Obs.: a funcao do upload eu adaptei de uma que encontrei na net e de redimensionar eu criei.
*/
//Exibi alertas com os erros retornados, somente se eles existirem
if(isset($_GET['01'])){
echo "<script>alert(\"Formato de imagem inválido. O formato da imagem que você está tentando enviar não é permitido pelo sistema.\")</script>";
}else if(isset($_GET['02'])){
echo "<script>alert(\"O tamanho do arquivo que você está tentando enviar é muito alto. Tamanho máximo permitido: 1.2 MB.\")</script>";
}
function upload($file, $dir, $ext = array("gif","jpg","png","jpeg","JPG","PNG","GIF","JPEG")) {$mudarNome = md5($nome).".".$ex2; //empacota o nome evitando caracteres especiais e espaços
if($formato == "image/jpeg" OR $formato == "image/jpg" OR $formato == "image/png" OR $formato == "image/gif"){
move_uploaded_file($file['tmp_name'], "$dir/$mudarNome") or die ();
redimencionamento($mudarNome, $formato, $dir, $ex2); //Chama a funcao que redimensiona
}
else{
die (header("Location: img.php?01"));
}// Else anterior
}//If nome, file, array
}//If nome!=""
}//Função upload
//Funcao para redimensionar
function redimencionamento($mudarNome, $formato, $dir, $extensao){
//nome do arquivo e diretorio para gravacao
$filename = $dir."/".$mudarNome;
//$dimensaoImagem = getimagesize($filename, $info);
//atribui as variaveis largura e altura os valores da matriz obtida a partir de getimage
list($width, $height) = getimagesize($filename);
//define percentual para redimensionamento a partir do tamanho original
if($height>1000 AND $width>1000){
$percent = 0.2;$percent = 1;
}
//diminui proporcionalmente o tamanho da imagem
$newwidth = $width * $percent;
$newheight = $height * $percent;
//Verifica o formato da imagem para uso especifico da funcao imagecreate
if($formato == "image/jpeg"){
$thumb = imagecreatetruecolor($newwidth, $newheight);
$source = imagecreatefromjpeg($filename);$thumb = imagecreatetruecolor($newwidth, $newheight);
$source = imagecreatefrompng($filename);$thumb = imagecreatetruecolor($newwidth, $newheight);
$source = imagecreatefromgif($filename);
}
//Fundo branco
//aloca cores
$fundoBranco = imagecolorallocate($thumb,255,255,255);
//pinta o fundo
imagefill($thumb, 0, 0, $fundoBranco);
//Redimensiona
imagecopyresized($thumb, $source, 0, 0, 0, 0, $newwidth, $newheight, $width, $height);
//Grava no formato .JPG
$imgMenor = imagejpeg($thumb, "$dir/$mudarNome");
}Carregando comentários...