olha pessoal, to fazendo um sistema de upload e redimensionamento de imagem, no meu ver está no código, mas está retornando a seguinte mensagem de erro:
Warning: Division by zero in C:\apache\www\formatar_msg.php on line 15
aqui o arquivo formatar msg q contem a função "redimg"
<?php
//---------------------- Redimensiona imagem
function redimg ($imagem, $nome, $larg, $altu) { //-------- Diretorio da img, nome da imagem, $lagura desejada, $altura desejada
$file = getimagesize($imagem);
$fileh = $file[1]; //----- Altura
$filew = $file[0]; //----- Largura
$filetype = $file[2]; //----- Extensão
$suporttype = array ('1','2','3'); //------- Extensões de retorno = suporte de filetype
$desttype = in_array ($filetype, $suporttype); //---------- Retorna true se suporta extensão, caso contrário false
$destexten = ''; //------------ inicializa a variável de extenção
$desth = $altu; //-------------altura max
$destw = $larg; //------------- largura max
$qual = 100; //------ Qualidade da Imagem 0 a 100
$propimg = $filew / $fileh; //---------------proporção do arquivo original
$diretorio = 'imgs/user_avatar/';//------------ Diretório da img
if ($desttype) { //-------------Se for suportada a extenção
if ($filew > $destw) //---------proporção de largura
{
$filew = $destw;
$fileh = $filew / $propimg;
if ($filehl > $desth) //---------proporção de altura
{
$fileh = $desth;
$filew = $fileh * $propimg;
}
}
$tam=array();//-------------- array com info da imagem
$tam['larg']=$filew;
$tam['alt']=$fileh;
//------------------- Começa a tratar a imagem
if ($filetype == '1'){ //---------- GIF
$destexten = '.gif';
$tam['ext']=$destexten;
$img_ori = imagecreatefromgif ($file);//-------- Carrega img original
$tmp_img = imagecreatetruecolor($tam['larg'], $tam['alt']); //--------- Cria uma imagem sem nada
imagecopyresized( $tmp_img, $img_ori, 0, 0, 0, 0, $tam['larg'], $tam['alt'], $filew, $fileh ); //------- Trabalha a Imagem
$updire = $diretorio.$nome.'.gif'; //---------- Direotrio da img, com nome e extensão
imagegif( $tmp_img, $updire, $qual );
}
elseif ($filetype == '2'){ //------------ JPG
$destexten = '.jpg';
$tam['ext']=$destexten;
$img_ori = imagecreatefromjpeg ($file);//-------- Carrega img original
$tmp_img = imagecreatetruecolor($tam['larg'], $tam['alt']); //--------- Cria uma imagem sem nada
imagecopyresized( $tmp_img, $img_ori, 0, 0, 0, 0, $tam['larg'], $tam['alt'], $filew, $fileh ); //------- Trabalha a Imagem
$updire = $diretorio.$nome.'.jpg'; //---------- Direotrio da img, com nome e extensão
imagejpeg( $tmp_img, $updire, $qual );
}
elseif ($filetype == '3') {//----------- PNG
$destexten = '.png';
$tam['ext']=$destexten;
$img_ori = imagecreatefrompng ($file);//-------- Carrega img original
$tmp_img = imagecreatetruecolor($tam['larg'], $tam['alt']); //--------- Cria uma imagem sem nada
imagecopyresized( $tmp_img, $img_ori, 0, 0, 0, 0, $tam['larg'], $tam['alt'], $filew, $fileh ); //------- Trabalha a Imagem
$updire = $diretorio.$nome.'.png'; //---------- Direotrio da img, com nome e extensão
imagepng( $tmp_img, $updire, $qual );
}
}
else { //-------- Se a extensão for inválida
$string = 1;
return $string;
}
}
?>
Ele está falando, q quando eu vou calcular a proporção eu estou dividindo por zero, mas como? Se a variável $fileh pega a altura via getimagesize($imagem) e filew tb?
como resolvo esse incoveniente erro?
edit---------------- Preciso disso pra hoje Socoorrrooo
Pergunta
Tesla
olha pessoal, to fazendo um sistema de upload e redimensionamento de imagem, no meu ver está no código, mas está retornando a seguinte mensagem de erro:
aqui o arquivo que envia a imagem:
aqui o arquivo formatar msg q contem a função "redimg"Ele está falando, q quando eu vou calcular a proporção eu estou dividindo por zero, mas como? Se a variável $fileh pega a altura via getimagesize($imagem) e filew tb?
como resolvo esse incoveniente erro?
edit---------------- Preciso disso pra hoje Socoorrrooo
Editado por TeslaLink para o comentário
Compartilhar em outros sites
3 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.