Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Beraldo

Classe para manipulação de imagens

Recommended Posts

require_once "class.ImgHandler.php";

if($_POST['submit'])
{
	$arquivo = $_FILES["image"];
	$pasta_dir = ""; 
	$arquivo_nome = $pasta_dir . $arquivo["name"];
	move_uploaded_file($arquivo["tmp_name"], $arquivo_nome);
	
 	$img 			= $arquivo_nome;
	$ImgHandler 	= new ImgHandler();
	$foto 			= $ImgHandler->saveImg($img);
	$ImgHandler->createThumb($foto);	
}
Bom eu consegui, adaptei o move_upload_file e funcionou, porém um detalhe.

Exemplo, envio uma imagem com o nome de inverno.jpg ele da resize e cria a thumb certinha, mas ele deixa esse inverno.jpg mais as duas fotos resize e thumb.

 

Pode me dar uma ajuda?

vlww

Compartilhar este post


Link para o post
Compartilhar em outros sites

é só apagar a imagem original com unlink.

Nem sempre se deseja apagar a imagem original, por isso nao usei unlink

 

consegui, segue o código para kem keira!

 

if($_POST['submit'])
{
	$arquivo = $_FILES["image"];
	$pasta_dir = ""; 
	$arquivo_nome = $pasta_dir . $arquivo["name"];
	move_uploaded_file($arquivo["tmp_name"], $arquivo_nome);
	
 	$img 			= $arquivo_nome;
	$ImgHandler 	= new ImgHandler();
	$foto 			= $ImgHandler->saveImg($img);
	$ImgHandler->createThumb($foto);
	unlink($img);	
}
vlw beraldo

Compartilhar este post


Link para o post
Compartilhar em outros sites

amigo vejo que ai ta apenas o download da classe..teria como postar o script completo com todos os arquivos... eu sou novo e entendo disso...e queria todo pronto..se possivel ficaria agradecido =D

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá Imasters (ja virou rotina minha dar oi para o fórum, algo do tipo 'bom dia sol' KKKK)

Bom, percebi que o grande problema da classe é a dificuldade de tornar uma PNG transparente, e ainda que o último script tenha funcionado melhor, o IE <8 não le PNG transparente, ele preenche a transparencia da PNG com branco, e infelizmente mais de 70% dos usuários ainda utilizam IE<8.

Uma solução muito simples para este problema é Jquery, mais simples que JS puro.

Com um código simples como

<script type="text/javascript">
$("document").ready(function() {
$("#logoA").animate({opacity: 0.4},10); //objeto com ID = logoA fica com 40% de opacidade com animação de 10ms
$("#logoB").animate({opacity: 0.7},400); //objeto com ID = logoB fica com 70% de opacidade com animação de 400 ms
$("#logoC").animate({opacity: 0.2},1000); //objeto com ID = logoB fica com 20% de opacidade com animação de 1000ms
});
</script>
você torna qualquer objeto transparente.

Utilizando CSS opacity,-webkit-opacity,-moz-opacity e filter:alpha(opacity:1), obtem-se o mesmo resultado.

orém, é claro que para que isto funcione o que não for transparente deve ser separado da imagem logo, por que de outro modo ficaria transparente também.

Mas mesmo assim, considero a melhor opção.

 

Existem diversas classes PHP para utilização mais prática do Jquery, tenho desenvolvido uma com as funções mais úteis, e em breve estarei postando aqui.

A classe inclui, Jquery Ajax,animação de DIVs,menus animados, Drag and Drop, objetos Sortable, Tab menus,FadeIn FadeOut e outras coisinhas..

 

E isso ai..

Abraços ;D

Compartilhar este post


Link para o post
Compartilhar em outros sites

Boa noite...

 

Seria possível incluir um novo tipo de imagem?

 

Seria imagens EPS, só que em 4 cores (CMYK), para gerar o thumb?

 

 

Obrigado.

 

 

ZUCOLLI

Compartilhar este post


Link para o post
Compartilhar em outros sites

Boa tarde.

 

Quando estou gravando no banco a varial foto:

 

$foto = $ImgHandler->saveImg( $img );

 

Só que ela pega o caminho completo da imagem (../../uploads/13348578834f90509b9f079966503535.jpg). Como faço para gravar somente o nome da imagem, sem o caminho?

 

Obrigado pela atenção.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Boa tarde.

 

Consegui implementar facilmente essa classe com o swfuploader (plugin para upload multiplo de imagens). Tenho 1 dúvida.

 

Estou trabalhando em galeria de fotos. Geralmente eu separo as fotos em pastas (cada vez que crio uma galeria crio uma pasta com o ID da galeria). Com essa classe eu conseguiria salvar as fotos dentro dessas pastas?

 

Obrigado pela atenção.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Fiz uma classe para manipulação de imagens. Ela salva imagens (de diretórios ou de um formulário - envio por POST), cria miniaturas (thumbnails) e insere logomarca (marca d'água).

 

<?php

/**
* Arquivo com a classe \c ImgHandler.
* @file class.ImgHandler.php
*/


/*
* Exemplo de uso:
*
* $img = 'foto.jpg'; // foto que deverá ser salva/redimensionada
* $ImgHandler = new ImgHandler();
* $foto = $ImgHandler->saveImg( $img );
* $ImgHandler->createThumb( $foto );
* $ImgHandler->insertLogo( $foto );
*/




/* Definição de constantes que poderão ser usadas na chamada ao método insertLogo() */
defined( 'IMGHANDLER_LOGO_TOP_LEFT' ) || define( 'IMGHANDLER_LOGO_TOP_LEFT', 1 );
defined( 'IMGHANDLER_LOGO_TOP_RIGHT' ) || define( 'IMGHANDLER_LOGO_TOP_RIGHT', 2 );
defined( 'IMGHANDLER_LOGO_TOP_CENTER' ) || define( 'IMGHANDLER_LOGO_TOP_CENTER', 3 );
defined( 'IMGHANDLER_LOGO_BOTTOM_LEFT' ) || define( 'IMGHANDLER_LOGO_BOTTOM_LEFT', 4 );
defined( 'IMGHANDLER_LOGO_BOTTOM_RIGHT' ) || define( 'IMGHANDLER_LOGO_BOTTOM_RIGHT', 5 );
defined( 'IMGHANDLER_LOGO_BOTTOM_CENTER' ) || define( 'IMGHANDLER_LOGO_BOTTOM_CENTER', 6 );
defined( 'IMGHANDLER_LOGO_MIDDLE_LEFT' ) || define( 'IMGHANDLER_LOGO_MIDDLE_LEFT', 7 );
defined( 'IMGHANDLER_LOGO_MIDDLE_RIGHT' ) || define( 'IMGHANDLER_LOGO_MIDDLE_RIGHT', 8 );
defined( 'IMGHANDLER_LOGO_MIDDLE_CENTER' ) || define( 'IMGHANDLER_LOGO_MIDDLE_CENTER', 9 );



/**
* A classe \c ImgHandler é responsável por copiar imagens (de um diretório ou de um formulário, por meio de envio por método POST), redimensioná-las e inserir a logomarca (marca d'água).
* @class ImgHandler
* @author Roberto Beraldo Chaiben (rbchaiben [at] gmail [dot] com)
* @version 1.1
* @see http://www.php.net/manual/pt_BR/book.image.php
* @see http://www.php.net/manual/pt_BR/features.file-upload.php
*/
class ImgHandler
{


/*=============================================*/
/*==== 	PROPRIEDADES DA CLASSE 	=========*/
/*=============================================*/


/**
    * Largura máxima das imagens, em pixels.
    * @private max_img_width
*/
private $max_img_width = 450;


/**
    * Altura máxima das imagens, em pixels.
    * @private max_img_height
*/
private $max_img_height = 450;


/**
    * Largura máxima das miniaturas (\em thumbnails), em pixels.
    * @private max_thumb_width
*/
private $max_thumb_width = 110;


/**
    * Altura máxima das miniaturas (\em thumbnails), em pixels.
    * @private max_thumb_height
*/
private $max_thumb_height = 110;


/**
    * Prefixo que diferencia uma miniatura (\em thumbnail) de sua imagem original.
    * @private thumb_prefix
*/
private $thumb_prefix = '';


/**
    * Sufixo que diferencia uma miniatura (\em thumbnail) de sua imagem original.
    * @private thumb_sufix
*/
private $thumb_sufix = '_thumb';



/**
    * Qualidade final da imagem (inteiro entre 0 e 100).
    * @note Esse valor só é usado em imagens JPEG.
    * @private img_quality
*/
private $img_quality = 80;


/**
    * Qualidade final da miniatura (\e thumbnail) (inteiro entre 0 e 100).
    * @note Esse valor só é usado em imagens JPEG.
    * @private thumb_quality
*/
private $thumb_quality = 70;


/**
    * Caminho para o arquivo da logomarca (marca d'água) que deve ser inserida nas imagens.
    * @private logo_file
*/
private $logo_file = 'logo.png';








/*==============================================*/
/*========= 	MÉTODOS DA CLASSE 	==========*/
/*==============================================*/





/**
    * Salva a imagem, redimensionando-a, se ultrapassar as dimensões máximas permitidas.
    * @param filename Caminho para a imagem que deve ser salva.
    * @return Retorna o nome da imagem salva.
    * @note O nome final do arquivo da iamgem é gerado dinamicamente, a fim de evitar arquivos com nomes iguais e, consequentemente, sobreescrita de arquivos diferentes.
*/
public function saveImg( $filename )
{
	list( $largura, $altura ) = getimagesize( $filename );

	// se as dimensões da imagem forem maiores que as permitidas, faz o redimensionamento dela.
	if ( $largura > $this->max_img_width || $altura > $this->max_img_height )
	{
		return $this->ResizeImg( $filename );
	}

	// gera um nome para a imagem.
	$novo_nome = $this->randName( $filename );

	copy( $filename, $novo_nome );

	return $novo_nome;
}
/*---------------------------------------------------*/



/**
    * Redimensiona uma imagem e a salva.
    * @param filename Imagem a ser redimensionada.
    * @return Retorna o nome da imagem salva.
*/
protected function ResizeImg( $filename )
{

	list( $largura, $altura ) = getimagesize( $filename );
	$img_type = $this->getImgType( $filename );

	// define largura e altura conforma o tamanho da imagem,
	// a fim de manter a proporção entre as dimensões

	if ( $largura > $altura)
	{
		$nova_largura = $this->max_img_width;
		$nova_altura = round( ($nova_largura / $largura) * $altura );
	}
	elseif ( $altura > $largura )
	{
		$nova_altura = $this->max_img_height;
		$nova_largura = round( ($nova_altura / $altura) * $largura );
	}
	else
	{
		$nova_altura = $nova_largura = $this->max_img_width;
	}

	$src_img = call_user_func( 'imagecreatefrom' . $img_type, $filename );
	$dst_img = imagecreatetruecolor( $nova_largura, $nova_altura );


	imagecopyresampled( $dst_img, $src_img, 0, 0, 0, 0, $nova_largura, $nova_altura, $largura, $altura );

	$nome_img = $this->randName( $filename );

	// verifica se é JPEG
	// Se for, adiciona o terceiro parâmetro (img_quality)
	if ( $img_type == 'jpeg' )
	{
		imagejpeg( $dst_img, $nome_img, $this->img_quality );
	}
	else
	{
		call_user_func( 'image' . $img_type, $dst_img, $nome_img );
	}


	imagedestroy( $src_img );
	imagedestroy( $dst_img );

	return $nome_img;
}
/*------------------------------------------------------*/



/**
    * Gera \em thumbnail de uma imagem.
    * @param filename Imagem da qual deve ser gerado o \em thumbnail.
    * @return Retorna o nome final do \em thumbnail.
*/
public function createThumb( $filename )
{
	list( $largura, $altura ) = getimagesize( $filename );
	$img_type = $this->getImgType( $filename );

	// define largura e altura conforma o tamanho da imagem,
	// a fim de manter a proporção entre as dimensões

	if ( $largura > $altura)
	{
		$nova_largura = $this->max_thumb_width;
		$nova_altura = round( ($nova_largura / $largura) * $altura );
	}
	elseif ( $altura > $largura )
	{
		$nova_altura = $this->max_thumb_height;
		$nova_largura = round( ($nova_altura / $altura) * $largura );
	}
	else
	{
		$nova_altura = $nova_largura = $this->max_thumb_width;
	}

	$src_img = call_user_func( 'imagecreatefrom' . $img_type, $filename );
	$dst_img = imagecreatetruecolor( $nova_largura, $nova_altura );



	imagecopyresampled( $dst_img, $src_img, 0, 0, 0, 0, $nova_largura, $nova_altura, $largura, $altura );

	$ext = end( explode( '.', $filename ) );
	$nome_arr = pathinfo( $filename );
	$nome_img = dirname( $filename) . DIRECTORY_SEPARATOR . $this->thumb_prefix . $nome_arr['filename'] . $this->thumb_sufix . '.' . $ext;

	// verifica se é JPEG
	// Se for, adiciona o terceiro parâmetro (thumb_quality)
	if ( $img_type == 'jpeg' )
	{
		imagejpeg( $dst_img, $nome_img, $this->thumb_quality );
	}
	else
	{
		call_user_func( 'image' . $img_type, $dst_img, $nome_img );
	}

	imagedestroy( $src_img );
	imagedestroy( $dst_img );

	return $nome_img;
}
/*----------------------------------------------------------*/



/**
    * Gera um novo nome para a imagem, evitando que haja arquivos com os mesmos nomes.
    * @param filename Nome original do arquivo.
    * @return Retorna o novo nome do arquivo.
    * @note Se for passado um caminho completo para o método (com nomes de diretórios), o retorno conterá o caminho completo também, alterando apenas o nome do arquivo, sem modificar os nomes dos diretórios.
*/
protected function randName( $filename )
{
	$tipo = getimagesize( $filename );
	$tipo = $tipo[2];

	switch ( $tipo )
	{
		case 1:
			$ext = 'gif';
			break;
		case 2:
			$ext = 'jpg';
			break;
		case 3:
			$ext = 'png';
			break;
		default:
			$ext = false;
	}

	if ( !$ext )
	{
		return false;
	}

	$novo_nome = strtolower( str_replace( ".", "", uniqid( time(), true) ) );
	$nome = ( $novo_nome . "." . $ext );

	return dirname( $filename ) . DIRECTORY_SEPARATOR . $nome;
}
/*---------------------------------------------*/



/**
    * Insere logomarca (marca d'água) numa imagem.
    * @param filename Caminho para o arquivo da imagem na qual deve ser inserida a logomarca (marca d'água).
    * @param logoBorder Distância que a logomarca (marca d'água) ficará da borda da imagem, em pixels. Por padrão, essa distância é de 5 pixels.
    * @param logoPosition Posição em que deverá ser inserida a logomarca (marca d'água). Pode ser um dos seguintes valores (constantes):
    * 	@li IMGHANDLER_LOGO_TOP_LEFT -> Insere no topo esquerdo;
    * 	@li IMGHANDLER_LOGO_TOP_RIGHT -> Insere no topo direito;
    * 	@li IMGHANDLER_LOGO_TOP_CENTER -> Insere no topo central;
    * 	@li IMGHANDLER_LOGO_BOTTOM_LEFT -> Insere na base esquerda;
    * 	@li IMGHANDLER_LOGO_BOTTOM_RIGHT -> Insere na base direita;
    * 	@li IMGHANDLER_LOGO_BOTTOM_CENTER -> Insere na base central;
    * 	@li IMGHANDLER_LOGO_MIDDLE_LEFT -> Insere na pate central vertical, à esquerda;
    * 	@li IMGHANDLER_LOGO_MIDDLE_RIGHT -> Insere na pate central vertical, à direita;
    * 	@li IMGHANDLER_LOGO_MIDDLE_CENTER -> Insere na pate central vertical, centrailzado horizontalmente;
    *
    *
    * Por padrão, a logomarca é inserida na base direita.
    *
    * @return Retorna TRUE em caso de sucesso e FALSE em caso de erro.
*/
public function insertLogo( $filename, $logoBorder = 5, $logoPosition = NULL )
{
	if ( !file_exists( $filename ) )
	{
		echo "Arquivo \"" . $filename . "\" não encontrado";
		return false;
	}

	if ( !is_int( $logoBorder ) || $logoBorder < 0 )
	{
		$logoBorder = 0;
	}

	if ( $logoPosition == NULL )
	{
		// assume o valor padrão
		$logoPosition = IMGHANDLER_LOGO_BOTTOM_RIGHT;
	}

	$logoBorder++;

	$logo_type = $this->getImgType( $this->logo_file );
	$img_type = $this->getImgType( $filename );

	if ( !$logo_type || !$img_type )
	{
		return false;
	}

	$img = call_user_func( 'imagecreatefrom' . $img_type, $filename );
	$logo = call_user_func( 'imagecreatefrom' . $logo_type, $this->logo_file );

	// dimensões das imagens
	$img_size = array( imagesx( $img ), imagesy( $img ) );
	$logo_size = array( imagesx( $logo ), imagesy( $logo ) );

	// ponto onde deverá ser inserida a logomarca
	switch ( $logoPosition )
	{
		case IMGHANDLER_LOGO_TOP_LEFT:
			$x = $logoBorder;
			$y = $logoBorder;
			break;

		case IMGHANDLER_LOGO_TOP_RIGHT:
			$x = $img_size[0] - ( $logo_size[0] + $logoBorder );
			$y = $logoBorder;
			break;

		case IMGHANDLER_LOGO_TOP_CENTER:
			$x = ( $img_size[0] / 2 - ( $logo_size[0] / 2 ) ) - $logoBorder;
			$y = $logoBorder;
			break;

		case IMGHANDLER_LOGO_BOTTOM_LEFT:
			$x = $logoBorder;
			$y = $img_size[1] - ( $logo_size[1] + $logoBorder );
			break;

		case IMGHANDLER_LOGO_BOTTOM_RIGHT:
			$x = $img_size[0] - ( $logo_size[0] + $logoBorder );
			$y = $img_size[1] - ( $logo_size[1] + $logoBorder );
			break;

		case IMGHANDLER_LOGO_BOTTOM_CENTER:
			$x = ( $img_size[0] / 2 - ( $logo_size[0] / 2 ) ) - $logoBorder;
			$y = $img_size[1] - ( $logo_size[1] + $logoBorder );
			break;

		case IMGHANDLER_LOGO_MIDDLE_LEFT:
			$x = $logoBorder;
			$y = ( $img_size[1] / 2 - ( $logo_size[1] / 2 ) ) - $logoBorder;
			break;

		case IMGHANDLER_LOGO_MIDDLE_RIGHT:
			$x = $img_size[0] - ( $logo_size[0] + $logoBorder );
			$y = ( $img_size[1] / 2 - ( $logo_size[1] / 2 ) ) - $logoBorder;
			break;

		case IMGHANDLER_LOGO_MIDDLE_CENTER:
			$x = ( $img_size[0] / 2 - ( $logo_size[0] / 2 ) ) - $logoBorder;
			$y = ( $img_size[1] / 2 - ( $logo_size[1] / 2 ) ) - $logoBorder;
			break;

		default:
			$x = $y = false;

	}


	if ( !$x || !$y )
	{
		return false;
	}

	$logo_point = array( $x, $y );

	imagecopy( $img, $logo, $logo_point[0], $logo_point[1], 0, 0, $logo_size[0], $logo_size[1] );

	// verifica se é JPEG
	// Se for, adiciona o terceiro parâmetro (thumb_quality)
	if ( $img_type == 'jpeg' )
	{
		imagejpeg( $img, $filename, $this->img_quality );
	}
	else
	{
		call_user_func( 'image' . $img_type, $img, $filename );
	}


	imagedestroy( $logo );
	imagedestroy( $img );

	return true;
}
/*----------------------*/



/**
    * Identifica o tipo de uma imagem.
    * @param filename Caminho da imagem.
    * @return Retorna o tipo da imagem (gif, jpeg ou png). 
*/
protected function getImgType( $filename )
{
	$type = getimagesize( $filename );

	if ( $type == FALSE || !is_array( $type ) )
	{
		return false;
	}

	switch ( $type[2] )
	{
		case 1: // GIF
			$img_type = 'gif';
			break;
		case 2: // JPEG
			$img_type = 'jpeg';
			break;
		case 3: // PNG
			$img_type = 'png';
			break;
		default:
			$img_type = false;
	}

	return $img_type;
}
/*-----------------------------*/



/**
    * Modifica as dimensões máximas das iamgens.
    * @param width Largura máxima das imagens.
    * @param height Altgura máxima das imagens.

*/
public function setMaxImgSize( $width, $height )
{
	if ( is_integer( $width ) && is_integer( $height ) )
	{
		$this->max_img_width = $width;
		$this->max_img_height = $height;
	}
}
/*------------------------*/



/**
    * Modifica as dimensões máximas das miniaturas (thumbnails).
    * @param width Largura máxima das miniaturas (thumbnails).
    * @param height Altgura máxima das miniaturas (thumbnails).

*/
public function setMaxThumbSize( $width, $height )
{
	if ( is_integer( $width ) && is_integer( $height ) )
	{
		$this->max_thumb_width = $width;
		$this->max_thumb_height = $height;
	}
}
/*------------------------*/



/**
    * Determina o prefixo das miniaturas (thumbnails)
    * @param prefix Prefixo das miniaturas (thumbnails)
*/
public function setThumbPrefix( $prefix )
{
	$this->thumb_prefix = $prefix;
}
/*----------------------------*/



/**
    * Determina o sufixo das miniaturas (thumbnails)
    * @param sufix Sufixo das miniaturas (thumbnails)
*/
public function setThumbSufix( $sufix )
{
	$this->thumb_sufix = $sufix;
}
/*----------------------------*/




/**
    * Define a qualidade final da imagem.
    * @note Esse valor só é usado em imagens JPEG.
    * @param img_quality Qualidade final da imagem. Deve ser um inteiro entre 0 e 100.
*/
public function setImgQuality( $img_quality )
{
	if ( !is_int( $img_quality ) || $img_quality < 0 || $img_quality > 100 )
	{
		return false;
	}

	$this->img_quality = $img_quality;
}
/*-------------------------*/



/**
    * Define a qualidade final da miniatura (\e thumbnail).
    * @note Esse valor só é usado em imagens JPEG.
    * @param thumb_quality Qualidade final da miniatura (\e thumbnail). Deve ser um inteiro entre 0 e 100.
*/
public function setThumbQuality( $thumb_quality )
{
	if ( !is_int( $thumb_quality ) || $thumb_quality < 0 || $thumb_quality > 100 )
	{
		return false;
	}

	$this->thumb_quality = $thumb_quality;
}
/*-------------------------*/




/**
    * Altera o caminho do arquivo da logomarca (marca d'água) que deve sr inserida nas imagens.
    * @param logo_file Caminho para o arquivo da logomarca (marca d'água).
*/
public function setLogoFile( $logo_file )
{
	if ( !file_exists( $logo_file ) )
	{
		echo "Arquivo \"" . $logo_file . "\" não encontrado. Retornando ao valor padrão.";
	}
	else
	{
		$this->logo_file = $logo_file;
	}
}
/*---------------------*/


}

?>

 

 

 

O exemplo de uso está no começo do arquivo, na forma de comentário.

 

As tags da documentação são direcionadas ao Doxygen, que possui muito mais opções que o PhpDoc. Por isso há umas tags não existentes no PhpDoc.

 

 

Gerei a documentação em HTML e em PDF para exemplificar.

O arquivo ZIP abaixo possui o código-fonte e as documentações completas:

 

http://www.inf.ufpr....sImgHandler.zip

 

 

Façam bom uso da classe e mantenham os créditos, por favor.

 

 

Abraços,

Beraldo

 

 

Joia...

 

Como eu faço inset no db

 

<?

// Recebendo Variaveis para Cadastro do Imovel

// Dados do Imovel
$tipo_imovel                      	= $_POST[tipo];            	// Ex: Casa, Apartamento, tec...
$finalidade                       	= $_POST[finalidade];      	// Ex: Venda ou Aluguel
$suite                            	= $_POST[suite];           	// Numero de quartos com suites
$garagem                          	= $_POST[garagem];         	// Numero de Garagens
$area                             	= $_POST[area];            	// Area Construida do Imovel
$areaT                            	= $_POST[areaT];           	// Area Total ex: tamanho total do lote
$dorm                             	= $_POST[dorm];            	// Numero de quartos
$wc                               	= $_POST[wc];              	// Numero de Banheiros
$lavanderia                       	= $_POST[lavanderia];      	// lavanderia
$valor1                           	= $_POST[preco];           	// Recebe Valores
$valor1                           	= $valor1 = str_replace(".", "", "$valor1");
$valor1                           	= str_replace(",", ".", "$valor1");
$condpgto                         	= $_POST[condpgto];        	// Formas de pagamento
$faseobra                         	= $_POST[faseobra];        	// Se for uma obra informar andamento
$titulo                           	= $_POST[titulo];          	// Titulo do Imóvel
$obs                              	= $_POST[obs];             	// Campo Detalhes
$destaque                         	= $_POST[destaque];        	// Indica se o imovel esta em destaque
// Endereço do Imovel
$cep                              	= $_POST[cep];             	// CEP do Imovel
$lagradouro                       	= $_POST[lagradouro];      	// Rua do Imovel	
$numero                           	= $_POST[numero];          	// Numero do endereço do  imovel
$complemento                      	= $_POST[complemento];     	// complemento ex: quadra e lote
$uf                               	= $_POST[uf];              	// Estado
$cidade                           	= $_POST[cidade];          	// cidade do imovel
$bairro                           	= $_POST[bairro];          	// bairro do imovel
// Corretor
$corretor                         	= $_POST[corretor];        	// Corretor do Imóvel
$fone_corretor                    	= $_POST[fone_corretor];   	// Telefone do Corretor

// Recebendo foto Destaque
$imagem                           	= $_POST[foto];

$pasta                            	= "teste_pasta";

if ($destaque != "sim") {
include ("class_upload.php"); }
 else {
include ("class_upload.php"); }

 $NomedasFotos = explode(';',$NomeTodasFotos);  


$sql = mysql_query ("INSERT INTO `imoveis` (
`id` ,
`titulo` ,
`tipo` ,
`finalidade` ,
`dorm` ,
`suite` ,
`wc` ,
`lavanderia` ,
`garagem` ,
`area` ,
`areaconstruida` ,
`corretor` ,
`fone_corretor` ,
`preco` ,
`condpgto` ,
`faseobra` ,
`endereco` ,
`numero` ,
`bairro` ,
`cidade` ,
`estado` ,
`complemento` ,
`observacoes` ,
`destaque` ,
`foto1` ,
`foto2` ,
`foto3` ,
`foto4` ,
`foto5` ,
`foto6` ,
`foto7` ,
`foto8` ,
`foto9` ,
`foto10`
)
VALUES ('',  '$titulo',  '$tipo_imovel',  '$finalidade',  '$dorm',  '$suite',  '$wc',  '$lavanderia',  '$garagem',  '$areaT',  '$area', '$corretor',  '$fone_corretor', '$valor1',  '$condpgto',  '$faseobra', '$lagradouro',  '$numero',  '$bairro',  '$cidade', '$uf', '$complemento', '$obs',  '$destaque', '$NomedasFotos[0]',  '$NomedasFotos[1]',  '$NomedasFotos[2]',  '$NomedasFotos[3]',  '$NomedasFotos[4]',  '$NomedasFotos[5]',  '$NomedasFotos[6]',  '$NomedasFotos[7]',  '$NomedasFotos[8]',  '$NomedasFotos[9]'
)");

 if ($sql) {
 echo "<script type='text/javascript'>alert('Imovel Cadastrado!!!');</script>"; }
 else
  {echo "<script type='text/javascript'>alert('Erro ao cadastrar Imovel!!!');</script>";}

 ?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Desculpem se estou ressuscitando este tópico, mas experimentei esta classe e ela é muito boa, gostaria de parabenizar o autor pelo exelente trabalho,

 

Só tenho uma pequena dúvida, se em alguns casos eu precisar especificar o nome do aquivo a ser salvo, ao envés de deixar ramdomico, como faço?

 

Obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

estou ressucitando este post, mas eu usava e algumas imagens estão aparecendo isso ainda, veja o erro:

Porque acontece isso:

Warning: imagecreatetruecolor() [function.imagecreatetruecolor]: Invalid image dimensions in E:\Vhosts\camarasantafedegoias.go.gov.br\httpdocs\painel\php\class.imghandler.php on line 156

Warning: imagecopyresampled(): supplied argument is not a valid Image resource in E:\Vhosts\camarasantafedegoias.go.gov.br\httpdocs\painel\php\class.imghandler.php on line 158

Warning: imagejpeg(): supplied argument is not a valid Image resource in E:\Vhosts\httpdocs\painel\php\class.imghandler.php on line 165

Warning: imagedestroy(): supplied argument is not a valid Image resource in E:\Vhosts\httpdocs\painel\php\class.imghandler.php on line 172

Warning: getimagesize(uploads/teste/14293998115532e903d235d384331670.jpg) [function.getimagesize]: failed to open stream: No such file or directory in E:\Vhosts\httpdocs\painel\php\class.imghandler.php on line 185

Warning: getimagesize(uploads/teste/14293998115532e903d235d384331670.jpg) [function.getimagesize]: failed to open stream: No such file or directory in E:\Vhosts\httpdocs\painel\php\class.imghandler.php on line 397

Warning: call_user_func(imagecreatefrom) [function.call-user-func]: First argument is expected to be a valid callback in E:\Vhosts\httpdocs\painel\php\class.imghandler.php on line 200

Warning: imagecopyresampled(): supplied argument is not a valid Image resource in E:\Vhosts\httpdocs\painel\php\class.imghandler.php on line 204

Warning: call_user_func(image) [function.call-user-func]: First argument is expected to be a valid callback in E:\Vhosts\httpdocs\painel\php\class.imghandler.php on line 216

Warning: imagedestroy(): supplied argument is not a valid Image resource in E:\Vhosts\httpdocs\painel\php\class.imghandler.php on line 219

Consegui fazer um esquema aqui:

 

neste trexo, os comentario não existem, e o que fiz esta comentado. Ficou bom este ajuste técnico. rsrs

if ($largura > $altura) {
            $nova_largura = $this->max_img_width;
            //$nova_largura = $this->max_img_width==0? 600 : $this->max_img_width;
            $nova_altura = round(($nova_largura / $largura) * $altura);
        } elseif ($altura > $largura) {
            $nova_altura = $this->max_img_height;
            //$nova_altura = $this->max_img_height==0? 600 : $this->max_img_height;
            $nova_largura = round(($nova_altura / $altura) * $largura);
        } else {
            $nova_altura = $nova_largura = $this->max_img_width;
        }

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.