function uploadArquivo($campoFormulario, $idGravado) { $ext = pathinfo($_FILES[$campoFormulario][name], PATHINFO_EXTENSION); if (($_FILES[$campoFormulario][name] <> "") && ($_FILES[$campoFormulario][size]) > 0 && in_array(strtolower($ext), $this->extensions)) { $arquivoTmp = $_FILES[$campoFormulario]['tmp_name']; $nome = str_replace(".", "", microtime(true)) . "_" . $_FILES[$campoFormulario]['name']; if (function_exists("exif_imagetype")) { $test = exif_imagetype($arquivoTmp); $image_type = $test; } else { $test = getimagesize($arquivoTmp); $image_type = $test[2]; } if (in_array($image_type, array(IMAGETYPE_GIF, IMAGETYPE_JPEG, IMAGETYPE_PNG, IMAGETYPE_BMP))) { $image = new SimpleImage(); $image->load($arquivoTmp); $l = $image->getWidth(); $h = $image->getHeight(); if ($l > $h) { $funcao = "resizeToWidth"; $novoTamanho = 1024; } else { $funcao = "resizeToHeight"; $novoTamanho = 768; } $image->$funcao($novoTamanho); $copiou = $image->save($this->diretorio . $nome); if ($this->prefixoMarcaDagua) { $image->$funcao(300); $image->watermark(); $image->save($this->diretorio . $this->prefixoMarcaDagua . $nome); } if ($this->prefixoMiniatura) { $image->load($arquivoTmp); $image->$funcao(380); $image->save($this->diretorio . $this->prefixoMiniatura . $nome); } } else { $copiou = copy($arquivoTmp, $this->diretorio . $nome); } if ($copiou) { $sql = "update $this->tabela set $this->campoBD = '$nome' where id='$idGravado'"; #$altualizaNome = mysql_query($sql) or die($sql . mysql_error); $this->conexao->executeQuery($sql); } } else { return false; } return $idGravado; }
$req_wall =& new HTTP_Request($_POST["wall_upload_url"]); $req_wall->setMethod(HTTP_REQUEST_METHOD_POST); } if ($_POST["album"] != NULL) { // Если мы нарезаем альбом, то используем другой принцип нарезки if ($zip->open($arch, ZIPARCHIVE::CREATE) === TRUE) { $res['upload_result'] = array(); for ($i = 0; $i < 3; $i++) { for ($j = 0; $j < 4; $j++) { $num++; $filename_new = "photo/" . $i . "-" . $j . "_" . $filename; $image->load("photo/" . $filename); $image->copyImage($left[$j], $top[$i], $crop_width, $crop_height); if ($num == 7) { $watermark = imagecreatefrompng("images/watermark_album.png"); $image->watermark($image->image, $watermark, 80); imagedestroy($watermark); } $image->save($filename_new); $zip->addFile($filename_new, $num . "." . $filetype); $req_album->addFile('file' . $j, $filename_new, 'image/' . $filetype); } $req_album->sendRequest(); $res['upload_result'][] = json_decode($req_album->getResponseBody()); $req_album =& new HTTP_Request($_POST["upload_url"]); $req_album->setMethod(HTTP_REQUEST_METHOD_POST); } $zip->close(); $res['arch'] = $arch; print json_encode($res); }
public static function resizeImage($file, $folder, $width = 120, $height = 120, $iparams = array(), $loc_ext_name_com = null) { global $ext_name, $ext_name_com; $loc_ext_name_com = !empty($loc_ext_name_com) ? $loc_ext_name_com : $ext_name_com; $params = JComponentHelper::getParams($loc_ext_name_com); if (!isset($iparams['displace'])) { $iparams['displace'] = $params->get('displace', 0); } if (!isset($iparams['watermark'])) { $iparams['watermark'] = $params->get('watermark', 0); } if (!isset($iparams['halign'])) { $iparams['halign'] = $params->get('halign', 'center'); } if (!isset($iparams['valign'])) { $iparams['valign'] = $params->get('valign', 'middle'); } $iparams['watermark_type'] = $params->get('watermark_type', 0); $iparams['watermark_valign'] = $params->get('watermark_valign', 'middle'); $iparams['watermark_halign'] = $params->get('watermark_halign', 'center'); $iparams['background_type'] = $params->get('background_type', 'file'); natsort($iparams); $dst_file = basename($file); foreach ($iparams as $iparam) { $dst_file = JString::str_ireplace('/', '.', $iparam) . '-' . $dst_file; } if (!class_exists('SimpleImage')) { require dirname(__FILE__) . DS . '..' . DS . 'additional' . DS . 'simpleimage.php'; } /* if($width == 0) { $width = $params->get('thumb_width', 120); }*/ if ($height == 0) { $height = $params->get('thumb_height', 120); } $dst_path_segments = array('media', $loc_ext_name_com, 'images', $folder, 'w' . $width . 'x' . 'h' . $height); $dst_path = JPATH_ROOT; foreach ($dst_path_segments as $v) { $dst_path .= DS . $v; if (!JFolder::exists($dst_path)) { JFolder::create($dst_path); chmod($dst_path, 0777); } } $file != '' ? $dst_filename = $dst_path . DS . $dst_file : ($dst_filename = $dst_path . DS . 'no.jpg'); if (!JFile::exists($dst_filename)) { if ($file != '') { $src_filename = JPATH_ROOT . DS . 'media' . DS . $loc_ext_name_com . DS . 'images' . DS . $folder . DS . 'original' . DS . basename($file); } else { $src_filename = JPATH_ROOT . DS . 'media' . DS . $loc_ext_name_com . DS . 'images' . DS . $folder . DS . 'no.jpg'; } if (!JFile::exists($src_filename)) { $src_filename = JPATH_ROOT . DS . 'media' . DS . $loc_ext_name_com . DS . 'images' . DS . $folder . DS . 'no.jpg'; } $image = new SimpleImage($src_filename); if ($width == 0) { $ratio = $height / $image->get_height(); $width = $image->get_width() * $ratio; } if ($image->get_width() > $width || $image->get_height() > $height) { $ratio_in = $image->get_width() / $image->get_height(); if ($iparams['displace'] == 0) { $ratio_out = $width / $height; if ($ratio_in > $ratio_out) { $image->resize((int) $width * $ratio_in, $height); } else { $image->resize($width, $width / $ratio_in); } $x1 = 0; $y1 = 0; switch ($iparams['halign']) { case 'center': $x1 = round($image->get_width() / 2 - $width / 2); break; case 'right': $x1 = round($image->get_width() - $width); break; } switch ($iparams['valign']) { case 'middle': $y1 = round($image->get_height() / 2 - $height / 2); break; case 'bottom': $y1 = round($image->get_height() - $height); break; } $image->crop($x1, $y1, $x1 + $width, $y1 + $height); } else { if ($width / $ratio_in > $height) { $image->resize($height * $ratio_in, $height); } else { $image->resize($width, $width / $ratio_in); } } } if ($iparams['watermark'] == 1) { $watermark_image = $params->get('watermark_image', ''); if (file_exists(JPATH_ROOT . DS . $watermark_image) && is_file(JPATH_ROOT . DS . $watermark_image)) { $image->watermark(JPATH_ROOT . DS . $watermark_image, $iparams); } } $bg_file = $params->get('background_file', ''); $image->background($width, $height, $iparams, $bg_file, $params->get('background_color', 'ffffff')); //$image->best_fit($width, $height); if ($iparams['background_type'] == 'file' && (empty($bg_file) || !empty($bg_file) && !file_exists(JPATH_ROOT . DS . $file))) { $image->save($dst_filename, 'png'); } else { $image->save($dst_filename); } } return JURI::root() . str_replace(JPATH_ROOT . DS, '', $dst_filename); }