Seguem abaixo dois scripts perfeitos para quem precisar.
Porém,
o primeiro script: Faz o upload de uma imagem e cria um Thumbnail para ela desde que o arquivo enviado seja JPG.
o segundo script: Faz o upload de qualquer imagem (JPG, GIF, BMP), dá um novo nome ao arquivo para que não haja como uma outra pessoa upar um arquivo com o mesmo nome e sobrepor o outro, verifica se a imagem não ultrapassa os limites que damos a ela de altura, largura e peso, caso algo não esteja de acordo ele retorna uma mensagem de erro que nós mesmos informamos ao usuário de forma que ele entenda.
o que eu preciso: Que o script aceite JPG, GIF, BMP, verifique se a imagem não ultrapassa os limites de altura, largura e peso e crie o Thumbnail.
Ou seja um script que una as funções desses dois.
Como eu não entendo de PHP preciso da sua ajuda para unir a função de Thumbnail do 1º script no 2º script ou vice-versa.
Acho o segundo script melhor porque ele caso o arquivo esteja fora dos padrões ele imprime o motivo do não assustando o usuário como mensagens que parecem ser de erro de programação como no primeiro script (isso queima o site), se puderem acrescentar a criação de Thumbnail à ele é melhor ainda pra mim, do que acrescentar as funções dele no primeiro.
1º script
<?$size_h = 80; $size_w = 120; $filedir = 'fotos/'; //diretorio da foto $thumbdir = 'fotos/'; //diretorio do thumbnail $prefix = 'tbn_'; //prefixo da thumbnail $maxfile = '2000000'; $mode = '0666'; preg_match("/\.(gif|bmp|png|jpg|jpeg){1}$/i", $arquivo["name"], $ext); $userfile_name = $_FILES['image']['name']; $userfile_tmp = $_FILES['image']['tmp_name']; $userfile_size = $_FILES['image']['size']; $userfile_type = $_FILES['image']['type']; if (isset($_FILES['image']['name'])) { $prod_img = $filedir.$userfile_name; $prod_img_thumb = $thumbdir.$prefix.$userfile_name; move_uploaded_file($userfile_tmp, $prod_img); chmod ($prod_img, octdec($mode)); $sizes = getimagesize($prod_img); $aspect_ratio = $sizes[1]/$sizes[0]; if ($sizes[1] <= $size) { $new_width = $sizes[0]; $new_height = $sizes[1]; }else{ $new_height = $size_h; $new_width = $size_w;//para redimensionar de acordo com a altura, comente a linha acima e descomente a abaixo //$new_width = abs($new_height/$aspect_ratio); } $destimg=ImageCreateTrueColor($new_width,$new_height) or die('Erro ao criar imagem'); $srcimg=ImageCreateFromJPEG($prod_img) or die('Erro ao abrir arquivo fonte'); if(function_exists('imagecopyresampled')) { imagecopyresampled($destimg,$srcimg,0,0,0,0,$new_width,$new_height,ImageSX($srcimg),ImageSY($srcimg))or die('Erro ao redimensionar: x001');}else{ Imagecopyresized($destimg,$srcimg,0,0,0,0,$new_width,$new_height,ImageSX($srcimg),ImageSY($srcimg))or die('Erro ao redimensionar: x002');}ImageJPEG($destimg,$prod_img_thumb,90)or die('Erro ao salvar');imagedestroy($destimg); }?>
2º script
<?$erro = $config = array();// Prepara a variável do arquivo$arquivo = isset($_FILES["foto"]) ? $_FILES["foto"] : FALSE;// Tamanho máximo do arquivo (em bytes)$config["tamanho"] = 3000000;// Largura máxima (pixels)$config["largura"] = 10000000;// Altura máxima (pixels)$config["altura"] = 10000000;// Formulário postado... executa as açõesif($arquivo){// Verifica se o mime-type do arquivo é de imagemif(!eregi("^image\/(pjpeg|jpeg|gif|bmp)$", $arquivo["type"])){$erro[] = "Arquivo em formato inválido! A imagem deve ser jpg, jpeg,bmp ou gif. Envie outro arquivo";}else{// Verifica tamanho do arquivoif($arquivo["size"] > $config["tamanho"]){$erro[] = "Arquivo em tamanho muito grande!A imagem deve ser de no máximo " . $config["tamanho"] . " bytes.Envie outro arquivo";}// Para verificar as dimensões da imagem$tamanhos = getimagesize($arquivo["tmp_name"]);// Verifica larguraif($tamanhos[0] > $config["largura"]){$erro[] = "Largura da imagem não deveultrapassar " . $config["largura"] . " pixels";}// Verifica alturaif($tamanhos[1] > $config["altura"]){$erro[] = "Altura da imagem não deveultrapassar " . $config["altura"] . " pixels";}}// Imprime as mensagens de erroif(sizeof($erro)){foreach($erro as $err){echo " - " . $err . "<BR>";}echo "<a href=\"foto.html\">Fazer Upload de Outra Imagem</a>";}// Verificação de dados OK, nenhum erro ocorrido, executa então o upload...else{// Pega extensão do arquivopreg_match("/\.(gif|bmp|png|jpg|jpeg){1}$/i", $arquivo["name"], $ext);// Gera um nome único para a imagem$imagem_nome = md5(uniqid(time())) . "." . $ext[1];// Caminho de onde a imagem ficará$imagem_dir = "fotos/" . $imagem_nome;// Faz o upload da imagemmove_uploaded_file($arquivo["tmp_name"], $imagem_dir);echo "Sua imagem foi enviada com sucesso!,$imagem_nome";}}?>
Preciso muito dessa ajuda,
espero ter sido claro quanto o que eu preciso.
meu e-mail: andre-arruda@hotmail.com
Que a Paz de Deus seja com vocês!