functionsUpload.php
<?php function verifica_dimensao_image($img, $max_x, $max_y) { $dimensaoImage = getimagesize($img["tmp_name"]); $dimensao = ''; // Verifica largura if($dimensaoImage[0] > $dimensaoImage[1]) { if($dimensaoImage[0] > $max_x) { $dimensao = 'largura'; } } else { if($dimensaoImage[0] < $dimensaoImage[1]) { if($dimensaoImage[1] > $max_x) { $dimensao = 'altura'; } } else { if($dimensaoImage[0] == $dimensaoImage[1]) { if($dimensaoImage[0] > $max_x) { $dimensao = 'largura'; } } } } return ($dimensao); }//fim verifica_dimensao_image function reduz_imagem($img, $max_x, $max_y, $nome_foto) { //pega o tamanho da imagem ($original_x, $original_y) list($width, $height) = getimagesize($img); $original_x = $width; $original_y = $height; // se a largura for maior que altura if($original_x > $original_y) { $porcentagem = (100 * $max_x) / $original_x; } else { $porcentagem = (100 * $max_y) / $original_y; } $tamanho_x = $original_x * ($porcentagem / 100); $tamanho_y = $original_y * ($porcentagem / 100); $image_p = imagecreatetruecolor($tamanho_x, $tamanho_y); $image = imagecreatefromjpeg($img); imagecopyresampled($image_p, $image, 0, 0, 0, 0, $tamanho_x, $tamanho_y, $width, $height); return imagejpeg($image_p, $nome_foto, 100); }//fim reduz_imagem function verifica_image($img) { // Verifica se o mime-type do arquivo é de imagem if(eregi("^image\/(pjpeg|jpeg|png|gif|bmp)$", $img["type"])) { return (TRUE); } return (FALSE); }// fim verifica_image function verifica_extensao_image($img) { // Pega extensão do arquivo preg_match("/\.(gif|bmp|png|jpg|jpeg){1}$/i", $img["name"], $ext); return ($ext[1]); }//fim verifica_extensao_imag ?>
enviar.php
<form id="form" method="post" action="uploadImage.php" enctype="multipart/form-data" accept-charset="utf-8"> <p>Foto: <input type="file" name="userfile[]" /> </p> <p>Foto: <input type="file" name="userfile[]" /> </p> <p>Foto: <input type="file" name="userfile[]" /> </p> <p>Foto: <input type="file" name="userfile[]" /> </p> <p>Foto: <input type="file" name="userfile[]" /> </p> <div id="botao"> <input id="enviar" type="submit" name="Enviar" value="Enviar" tabindex="6" class="botao"/> </div> </form>
uploadImage.php
<?php require_once ("functionsUpload.php"); for ($i=0;$i<4;$i++) { if($_FILES['userfile']['name'][$i]) { $arquivo = isset($_FILES["userfile"][$i]) ? $_FILES["userfile"][$i] : FALSE; $max_image_x = 500; $max_image_y = 375; $diretorio = '/pasta_do_servidor/'; if($arquivo) { $tamanho = getimagesize($arquivo["tmp_name"][$i]); ini_set ("max_execution_time", 3600); // uma hora $err = FALSE; if(is_uploaded_file($arquivo['tmp_name'][$i])) { if(verifica_image($arquivo)) { $tamanho = getimagesize($arquivo["tmp_name"][$i]); $dimensiona = verifica_dimensao_image($arquivo, $max_image_x, $max_image_y); if($dimensiona != '') { if($dimensiona == 'altura') { $auxImage = $max_image_x; $max_image_x = $max_image_y; $max_image_y = $auxImage; } } else { $max_image_x = $tamanho[0]; $max_image_y = $tamanho[1]; } $nome_foto = ('maior_' . time() . '.' . verifica_extensao_image($arquivo));// nome único para foto $endFoto = $diretorio . $nome_foto; if(reduz_imagem($arquivo['tmp_name'][$i], $max_image_x, $max_image_y, $endFoto)) { $err = TRUE; } } } } $arquivo2 = isset($_FILES["foto"][$i]) ? $_FILES["foto"][$i] : FALSE; $max_image_x2 = 120; $max_image_y2 = 90; $diretorio2 = '/home/admin/public_html/mercoplaza/admin/noticias/fotos/'; if($arquivo2) { $tamanho2 = getimagesize($arquivo2["tmp_name"][$i]); ini_set ("max_execution_time", 3600); // uma hora $err2 = FALSE; if(is_uploaded_file($arquivo2['tmp_name'][$i])) { if(verifica_image($arquivo2)) { $tamanho2 = getimagesize($arquivo2["tmp_name"][$i]); $dimensiona2 = verifica_dimensao_image($arquivo2, $max_image_x2, $max_image_y2); if($dimensiona2 != '') { if($dimensiona2 == 'altura') { $auxImage2 = $max_image_x2; $max_image_x2 = $max_image_y2; $max_image_y2 = $auxImage2; } } else { $max_image_x2 = $tamanho2[0]; $max_image_y2 = $tamanho2[1]; } $nome_foto2 = ('menor_' . time() . '.' . verifica_extensao_image($arquivo2));// nome único para foto $endFoto2 = $diretorio2 . $nome_foto2; if(reduz_imagem($arquivo2['tmp_name'][$i], $max_image_x2, $max_image_y2, $endFoto2)) { $err2 = TRUE; } } } } } } ?>