Redimensionar a imagem no upload php

Eu tenho um script php para upload de imagem como abaixo

<?php $LibID = $_POST[name]; define ("MAX_SIZE","10000"); function getExtension($str) { $i = strrpos($str,"."); if (!$i) { return ""; } $l = strlen($str) - $i; $ext = substr($str,$i+1,$l); return $ext; } $errors=0; $image=$_FILES['image']['name']; if ($image) { $filename = stripslashes($_FILES['image']['name']); $extension = getExtension($filename); $extension = strtolower($extension); if (($extension != "jpg") && ($extension != "jpeg")) { echo '

Unknown extension!

'; $errors=1; exit(); } else { $size=filesize($_FILES['image']['tmp_name']); if ($size > MAX_SIZE*1024) { echo '

You have exceeded the size limit!

'; $errors=1; exit(); } $image_name=$LibID.'.'.$extension; $newname="uimages/".$image_name; $copied = copy($_FILES['image']['tmp_name'], $newname); if (!$copied) { echo '

image upload unsuccessfull!

'; $errors=1; exit(); }}} ?>

que carrega o arquivo de imagem em uma pasta “uimages” na raiz. Eu fiz alterações no arquivo html para a exibição compacta da imagem, definindo “max-height” e “max-width”. Mas eu quero resize o arquivo de imagem no upload. O arquivo de imagem pode ter uma largura máxima de 100px e altura máxima de 150px. As proporções da imagem devem ser restritas. Ou seja, a imagem pode ser menor do que as dimensões acima, mas não deve exceder o limite. Como posso tornar isso possível?

Desde já, obrigado 🙂

blasteralfred ..

Veja esta resposta , eu gosto de usar imagemagick

Não é possível resize uma imagem no upload; Deve estar no servidor primeiro.

Para isso, você pode ver a resposta de Eric usando ImageMagick. Se você estiver usando a biblioteca GD, então você poderia usar isso .

Você pode resize uma imagem usando a biblioteca GD nativa do PHP. Aqui está um link para uma function que escrevi para resize uma imagem para qualquer tamanho arbitrário. Possui opções para letterboxing ou recortar para caber para ajustar a nova relação de aspecto e uma ótima explicação.

http://www.spotlesswebdesign.com/blog.php?id=1

você pode usar 2 funções para resize imagens após uploads

  

faça uma chamada assim: $ image = thumbnail ($ uploadedFile, 300); imageToFile ($ image, $ folder); // se quiser salvar a miniatura