PUBLICIDADE

Autor

tiagocaus

Tiago Pereira Caus

membro deste janeiro de 2008

Compartilhe e guarde

  • Rec6
  • StumbleUpon
  • ueba
  • linkk
  • dihitt
  • linkloko
  • linkto
  • Technorati
  • Simpy
  • del.icio.us
  • Faves: Fave It!

PUBLICIDADE

Enquete

A quanto tempo você já é desenvolvedor?

Classe para fazer upload de imagem para banco de dados


Classe em PHP para fazer upload de imagem e salvar no banco de dados.
Arquivo class.uploadjpg.php
<?php
//classe para upload de imagem

class Uploadjpg{
	var $erro;
	var $imgy;
	var $tamanho;
	var $nometmp;
	var $nome;
	var $tipo;
	var $quali;
	var $novonome;
	var $diretorio;
	
	function Uploadjpg(){
    }
	//recebe
	function Recebe($imagem){	
		$this->tamanho = $imagem['size'];
		$this->nometmp = $imagem['tmp_name'];
		$this->tipo = $imagem['type'];
		$this->nome = $imagem['name'];
	}
	//gera imagem
	function Gera($imgy,$quali,$diretorio){
		$this->imgy = $imgy;
		$this->quali = $quali;
		$this->diretorio = $diretorio;
			
		if (($this->tipo != 'image/jpeg') && ($this->tipo != 'image/pjpeg')){
			$this->erro =  'Tipo de arquivo invlido, somente JPG.';
			return false;	
		}elseif($this->tamanho == 0){
			$this->erro =  'Selecione uma imagem.';
			return false;
		}elseif(!$imagem_orig = @imagecreatefromjpeg($this->nometmp)){
			$this->erro =  'Imagem JPG com formato incompativel.';
			return false;
		}elseif(!file_exists($this->diretorio)){
			$this->erro =  'O diretorio '.$this->diretorio.' nao existe.';
			return false;
		}else{
			//gera a imagem
			$imagem = $this->diretorio.$this->novonome; 
			$tamanhoX = @imagesx($imagem_orig);
			$tamanhoY = @imagesy($imagem_orig); 
			$altura = $this->imgy; 
			//A linha abaixo é para largura proporcional da altura
			//$largura = $tamanhoX * $altura / $tamanhoY; 
			$largura = 194; 
			$imagem_fin = imagecreatetruecolor($largura, $altura); 
			imagecopyresampled($imagem_fin,$imagem_orig, 0, 0, 0, 0, $largura + 1, $altura + 1, $tamanhoX, $tamanhoY); 
			imageJPEG($imagem_fin,$imagem,$this->quali);
			@imagedestroy($imagem_orig);
			@imagedestroy($imagem_fin);
			//se deu certo retorna o nome da imagem
			return $this->novonome;
		}
	}
	
	//retorna erro
	function Erro(){
		return $this->erro;
	}
	//seta nome
	function Setanome($nome){
		$this->novonome = $nome;
	}
	//cria diretorio
	function Criadir($novodir,$chmod){
		if(file_exists($novodir)){
			return false;
		}elseif(!@mkdir($novodir,$chmod)){
			return false;
		}else{
			return true;
		}
	}
}
?>


FAZ O UPLOAD

<?php
// Upload
require_once "class.uploadjpg.php";

//faz o upload da foto
$diretorio = 'imagens/fotos/';
$envia = new Uploadjpg;
$envia->Recebe($_FILES['foto']);
$envia->Setanome(date('dmYhis').'.jpg');
$foto = $envia->Gera(182,100,$diretorio);

if(!$foto){
		$erro = $envia->Erro();
}else{
SQL
}
?>

Sim   Não   Este código foi útil para você?
NotaComentário
Ainda não foi enviado nenhum comentário.
Regras:
Os comentários seguem as seguintes regras:
  • Todos os comentários são enviados por membros cadastrados no site.
  • A pontuação de comentários de conteúdo do próprio membro não serão computados.
  • Os comentários serão pré-aprovados, porém a equipe do site revisará o conteúdo de todos os comentários podendo ser invalidados (inclusive a pontuação).
  • Os comentários precisam ter, obrigatóriamente, coerência sobre o conteúdo que será comentado.
  • O membro que atingir 5 comentários invalidados não poderá mais comentar dentro do site. Com isso o membro não poderá mais ganhar pontos com comentários.
  • Há um limite de 10 comentários por dia para cada membro.
  • Qualquer comentário após ter sido publicado poderá ser retirado através da opção ( denunciar)

Comente

     (ainda não tem cadastro? clique aqui!)


Máximo de 30 caracteres

Máximo de 255 caracteres
 

R&W Consulting - Soluções Web Hospedagem UOL HOST PagSeguro - solução para pagamentos online
© 2006-2009 R&W Informática Ltda. - Todos os direitos reservados.