$h){ if($w > $largura2){ $h = ceil($h * $largura2 / $w); $w = $largura2; } $largura_mini = $largura1; $altura_mini = ceil($h * $largura1 / $w); }else{ if($h > $largura2){ $w = ceil($w * $largura / $h); $h = $largura2; } $largura_mini = ceil($w * $largura1 / $h); $altura_mini = $largura1; } // imagem media $imagick = new \Imagick(realpath($caminho)); $imagick->resizeImage($w, $h, Imagick::FILTER_LANCZOS, 1); $cropWidth = $imagick->getImageWidth(); $cropHeight = $imagick->getImageHeight(); $imagick->setImageCompression(\Imagick::COMPRESSION_ZIP); $imagick->setImageCompressionQuality(90); $imagick->setInterlaceScheme(\Imagick::INTERLACE_PLANE); $imagick->writeImage($caminho); // // imagem mini if($largura1 > 0){ $imagick = new \Imagick(realpath($caminho)); $imagick->resizeImage($largura_mini, $altura_mini, Imagick::FILTER_LANCZOS, 1); $cropWidth = $imagick->getImageWidth(); $cropHeight = $imagick->getImageHeight(); $imagick->setImageCompression(\Imagick::COMPRESSION_ZIP); $imagick->setImageCompressionQuality(90); $imagick->setInterlaceScheme(\Imagick::INTERLACE_PLANE); $imagick->writeImage(foto_mini($caminho)); } // }else{ // VERIFICA A EXTENSÃO DA IMAGEM $ext = strtolower(formato($nomefoto)); // CASO A IMAGEM SEJA JPG if($ext == "jpg" || $ext == "jpeg"){ //abre if //NOME DO ARQUIVO DA MINI $imagem_gerada_mini = explode(".jpg", $caminho); $imagem_gerada_mini = $imagem_gerada_mini[0]."_mini.jpg"; //NOME DO ARQUIVO DA MEDIA $imagem_gerada_media = $caminho; //CRIA UMA NOVA IMAGEM $imagem_orig = imagecreatefromjpeg($caminho); }elseif($ext == "png"){ //NOME DO ARQUIVO DA MINIATURA $imagem_gerada_mini = explode(".png", $caminho); $imagem_gerada_mini = $imagem_gerada_mini[0]."_mini.png"; //NOME DO ARQUIVO DA MEDIA $imagem_gerada_media = $caminho; //CRIA UMA NOVA IMAGEM $imagem_orig = imagecreatefrompng($caminho); }else{ return ""; } //LARGURA $pontoX = imagesx($imagem_orig); //ALTURA $pontoY = imagesy($imagem_orig); $l1 = $largura1; $l2 = $largura2; //se a largura for maior q a altura if($pontoX >= $pontoY){ // DEFINE AS MEDIDAS DA MINI $largura_mini = $largura1; $altura_mini = $pontoY * $largura1 / $pontoX; // DEFINE AS MEDIDAS DA MEDIA if($pontoX > $largura2){ $largura_media = $largura2; $altura_media = $pontoY * $largura2 / $pontoX; }else{ $largura_media = $pontoX; $altura_media = $pontoY; } }else{ $largura1 = $largura1;// - $largura1 / 100 * 20; //$largura2 = $largura2 - $largura2 / 100 * 20; $largura2 = $largura2; // DEFINE AS MEDIDAS DA MINI $largura_mini = $largura1; $altura_mini = $pontoY * $largura1 / $pontoX; // DEFINE AS MEDIDAS DA MEDIA if($pontoY > $largura2){ $largura_media = $pontoX * $largura2 / $pontoY; $altura_media = $largura2; }else{ $largura_media = $pontoX; $altura_media = $pontoY; } } if(!empty($largura1)){ //CRIA O THUMBNAIL MINI $imagem_fin_mini = imagecreatetruecolor($largura_mini, $altura_mini); //COPIA A IMAGEM ORIGINAL PARA DENTRO (MINI) imagealphablending($imagem_fin_mini, true); $color = imagecolorallocatealpha($imagem_fin_mini, 0, 0, 0, 127); imagefill($imagem_fin_mini, 0, 0, $color); imagecopyresampled($imagem_fin_mini, $imagem_orig, 0, 0, 0, 0, $largura_mini+1, $altura_mini+1, $pontoX, $pontoY); imagealphablending($imagem_fin_mini, false); imagesavealpha($imagem_fin_mini, true); } //CRIA O THUMBNAIL MEDIA $imagem_fin_media = $pontoX <= $l2 ? $nomefoto : imagecreatetruecolor($largura_media, $altura_media); //COPIA A IMAGEM ORIGINAL PARA DENTRO (MEDIA) imagealphablending($imagem_fin_media, true); $color = imagecolorallocatealpha($imagem_fin_media, 0, 0, 0, 127); imagefill($imagem_fin_media, 0, 0, $color); imagecopyresampled($imagem_fin_media, $imagem_orig, 0, 0, 0, 0, $largura_media+1, $altura_media+1, $pontoX, $pontoY); imagealphablending($imagem_fin_media, false); imagesavealpha($imagem_fin_media, true); if($ext == "jpg" OR $ext == "jpeg"){ if(!empty($largura1)) //SALVA A IMAGEM (MINI) imagejpeg($imagem_fin_mini, $imagem_gerada_mini, 100); //SALVA A IMAGEM (MEDIA) imagejpeg($imagem_fin_media, $imagem_gerada_media, 100); }elseif($ext == "png"){ if(!empty($largura1)) //SALVA A IMAGEM (MINI) imagepng($imagem_fin_mini, $imagem_gerada_mini); //SALVA A IMAGEM (MEDIA) imagepng($imagem_fin_media, $imagem_gerada_media); } } return $nomefoto; } function enviaZip($input, $destino, $bd = null){ $arquivo = isset($_FILES[$input]) ? $_FILES[$input] : FALSE; $arquivoNome = $arquivo['name']; $arqZip = $arquivo["tmp_name"]; if(formato($arquivoNome) != "zip"){ return FALSE; }else{ $fotos = array(); $zip = new ZipArchive(); $zip->open($arqZip); for($i = 0; $i < $zip->numFiles; $i++){ $entry = $zip->getNameIndex($i); //$fotos[] = $entry; if(formato(strtolower($entry)) == "jpg" || formato(strtolower($entry)) == "gif" || formato(strtolower($entry)) == "png"){ $foto = str_replace($entry, PREFIXO.date("YmdHis")."F".($i+1), $entry.".".formato(strtolower($entry))); //copia para o destino copy("zip://".$arqZip."#".$entry, $destino."/".$foto); if(preg_match("/fotos/", $_SERVER['REQUEST_URI'])){ //faz a foto com marca dagua @marcaDagua(ARQMARCA, $destino."/".$foto, POSMARCA); } //retorna os nomes em array para gravar no banco quando a variavel $bd for setada $fotos[] = $foto; } } //$zip->extractTo($destino); $zip->close(); if($bd){ header('Content-type: text/plain'); return $fotos; }else{ return TRUE; } } } function verificaFile($foto, $nomearquivo = null, $retorno = null){ $arquivo = isset($_FILES[$foto]) ? $_FILES[$foto] : FALSE; if(!empty($arquivo['name']) || !empty($nomearquivo)){ $retorno = $retorno == "" ? TRUE : $arquivo['name']; return $retorno; }else{ return FALSE; } } function validaFile($arquivo, $extensoes){ $file = $_FILES[$arquivo]; if(empty($file['name'])) return; $formato = formato($file['name']); if(!preg_match("/".$extensoes."/i", $formato)) die("Tipo de arquivo inválido!"); } function uploadFile($campo, $dest, $i = 1){ $arq = $_FILES[$campo]; if(empty($arq['name'])) return FALSE; $formato = formato($arq['name']); $formato = $formato == "jpeg" ? "jpg" : $formato; $semFormato = titulo_url(semFormato($arq['name'])); $filename = $semFormato."-".date('s').$i.".".$formato; if(move_uploaded_file($arq['tmp_name'], $dest."/".$filename)) return $filename; return FALSE; }