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:
<?php if (empty($_POST['validar'])) { $var = '<form method="post" action="'.$_SERVER["PHP_SELF"].'"> <input type="file" name="imagemx"><br> <input type="text" name="nome"> <input type="hidden" name="validar" value="validar"><br> <input type="submit"></form>'; echo $var; } else { include ("formatar_msg.php"); $file = $_FILES['imagemx']; $nome = $_POST['nome']; redimg ($file, $nome, 100, 100); echo $file; echo "Seu Arquivo foi Envidao Com Sucesso!"; } ?>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
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.