Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Gleyson Abreu

Como enviar a imagem no tamanho original

Recommended Posts

Bom estou com esse problema ele esta enviando a imagem em um tamanho diferente queria que envia-se no tamanho original delas as funções vão a seguir:

 

CÓDIGO QUE ESTA NA MINHA HOME PEDINDO O UPLOAD:

if(!empty($nome) && in_array($tipo, $permite)){

upload($destino, $nome, 460, $pasta);

}

FUNÇAO.PHP

function upload($destino, $nome, $largura, $pasta){

$img = imagecreatefromjpeg($destino);

$x = imagesx($img);

$y = imagesy($img);

$altura = ($largura * $y) / $x;

 

$novaImagem = imagecreatetruecolor($largura, $altura);

imagecopyresampled($novaImagem, $img, 0, 0, 0, 0, $largura, $altura, $x, $y);

imagejpeg($novaImagem, "$pasta/$nome");

 

imagedestroy($img);

imagedestroy($novaImagem);

}

Como resolvo?

Compartilhar este post


Link para o post
Compartilhar em outros sites

"Gambiarristicamente" acho que isso funciona.

function upload($destino, $nome, $largura, $pasta){
$img = imagecreatefromjpeg($destino);
$x = imagesx($img);
$y = imagesy($img);
$largura = $x;
$altura = $y;
 
$novaImagem = imagecreatetruecolor($largura, $altura);
imagecopyresampled($novaImagem, $img, 0, 0, 0, 0, $largura, $altura, $x, $y);
imagejpeg($novaImagem, "$pasta/$nome");
 
imagedestroy($img);
imagedestroy($novaImagem);
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

A "solução" que eu passei para o tamanho da imagem funcionou??

O fato de não executar o upload de imagens de outras extensões ocorre porque você está usando a função imagecreatefromjpeg

Se não tem um JPEG como origem para a imagem, não tem como executar o upload.

Mas se você não precisa fazer o redimensionamento da imagem, você pode usar o script deste post

http://blog.marlonpacheco.com.br/upload-de-imagens-com-html5-jquery-e-php/

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tem uma classe muito boa que uso algum tempo chamada WideImage

 

com ela você faz o redimensionamento de qualquer tipo de imagem, só crie uma função que verifica o mime type da image

 

Exemplo:

 

public static function isImageValid($file='')
{


$get = getimagesize($file['tmp_name']);




        if (($get["mime"] != "image/jpeg") AND ($get["mime"] != "image/pjpeg") AND ($get["mime"] != "image/gif") AND ($get["mime"] != "image/png")) {
         return false;
        }


        if ( ! Validate::isNotNull( $file['name'] ) ) {
         return false;
        }


$array = array('jpg','jpeg','gif','png');
   $path_extension = pathinfo($file['name'], PATHINFO_EXTENSION);


        if( in_array( $path_extension, $array ) ) {
        return true;
        } else {
        return false;
        }
}

 

http://blog.thiagobelem.net/manipulando-imagens-no-php/

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.