Aqui vou mostrar uma forma simples de enviar uma imagem utilizando PHP.
A algum tempo atrás criei uma classe para o envio de imagens e também a manipulação delas para tornar o trabalho menos fatídico.
/ form.php [Ver source]
<!DOCTYPE html PUBLIC ”-//W3C//DTD XHTML 1.0 Transitional//EN” ”http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd”>
<html xmlns=”http://www.w3.org/1999/xhtml”>
<head>
<meta http-equiv=”Content-Type” content=”text/html; charset=UTF-8″ />
<title>Formulário de upload</title>
</head>
<body>
<h2>Upload de imagens</h2>
<form action=”upload.php” method=”post” enctype=”multipart/form-data”>
<input type=”file” id=”imagem” name=”imagem” />
<br />
<input type=”submit” name=”Enviar” id=”Enviar” value=”Enviar” />
</form>
</body>
</html>
/ upload.php [Ver source]
<?php
/**
* Puxando script
*/
require_once(‘includes/class.Img.php’);
# Verificando se foi ou não enviada a imagem
if( $_FILES["imagem"][error] ==0 )
{
# Instanciando a classe de manipulação de imagens
$Img = new Img();
# Alterando o nome da imagem para que não contenha caracteres inválidos (opcional)
$Img->salvar_nome = md5( time() . $_FILES["imagem"][name] ) . ‘.jpg’;
# Diretório destino
$Img->salvar_dir = ‘./destino/’;
# Efetuando o upload
$Img->Upload( $_FILES["imagem"] );
}
?>
/ includes / class.Img.php [Ver source]
<?
/**
* Classe responsavel pelas funcoes de imagem
* @package Vision
* @version 1.0
* @link http://www.surrealartweb.com.br/
* Exemplo de utilizacao ”img.php”
*
* require_once(”img.class.php”);
* $Img = new Img();
* $Img->imagem = $_GET[src];
* $Img->mostrar = true;
* $Img->salvar = false;
* $Img->salvar_nome = ”logo.jpg”;
* $Img->salvar_dir = ”./foi/”;
* $Img->width = $_GET[w];
* $Img->height = $_GET[h];
* $Img->redimensiona(); / $Img->quadrado();
*/
class Img {
/** Tipo mime da imagem */
var $mime = “image/jpeg”;
/** Permissao da imagem */
var $chmod = “0777″;
/** Largura da imagem */
var $width = 100;
/** Altura da imagem */
var $height = 100;
/** Qualidade da imagem (Compactacao JPG) */
var $qualidade = 100;
/** Local da imagem pai*/
var $imagem;
/** Salvar ou nao a imagem */
var $salvar = false;
/** Se salvar, pasta onde sera salva */
var $salvar_dir = “./img/”;
/** Nome da imagem que sera salva */
var $salvar_nome = “temp.jpg”;
/** Mostrar a imagem no navegador ou nao */
var $mostrar = true;
/* Upload */
/** $_FILE */
var $PicFile;
/** Nome temporario */
var $TmpName;
/** Tamanho da imagem */
var $Size;
/**
* Objeto que transforma a imagem em um pequeno quadrado
* @param void
*/
function quadrado() {
if(file_exists($this->imagem)) {
list($w0,$h0) = getimagesize($this->imagem);
if($w0<$h0) {
$d0=$w0;
$x0=0;
$y0=($h0-$w0)/2;
} else {
$d0=$h0;
$x0=($w0-$h0)/2;
$y0=0;
}
$fringe=$d0/10;
$x0+=$fringe;
$y0+=$fringe;
$d0-=(2*$fringe);
$image = $this->criarImagem($this->imagem);
$square=imagecreatetruecolor($this->width,$this->height);
imagecopyresampled($square,$image,0,0,$x0,$y0,$this->width,$this->height,$d0,$d0);
if($this->salvar==true) {
$img_temp = $this->salvar_dir.$this->salvar_nome;
imagejpeg($square,$img_temp,$this->qualidade);
chmod($img_temp,0777);
}
if($this->mostrar==true) {
header(‘Content-type: image/jpg’);
imagejpeg($square,”,$this->qualidade);
}
imagedestroy($square);
} else {
return false;
}
}
/**
* Objeto responsavel por criar a imagem
* @param $img Local da imagem
*/
function criarImagem($img){
$tipo = strtolower(substr($img, strrpos($img, “.”), strlen($img)-strrpos($img, “.”)));
if ($tipo==“.jpeg” || $tipo==“.jpg”) {
return imagecreatefromjpeg($img);
} elseif ($tipo==“.gif”) {
return imagecreatefromgif($img);
} elseif ($tipo==“.png”) {
return imagecreatefrompng($img);
}
}
/**
* Objeto que redimensiona a imagem
* @param void
*/
function redimensiona() {
if(file_exists($this->imagem)) {
$W=$this->width;
$H=$this->height;
list($w0,$h0) = getimagesize($this->imagem);
if( $h0*$W/$w0 <= $H) {
$w1=$W;
$h1=$h0*$W/$w0;
} else {
$w1=$w0*$H/$h0;
$h1=$H;
}
$image = $this->criarImagem($this->imagem);
$resized=imagecreatetruecolor($w1,$h1);
imagecopyresampled($resized,$image,0,0,0,0,$w1,$h1,$w0,$h0);
if($this->salvar==true) {
$img_temp = $this->salvar_dir.$this->salvar_nome;
imagejpeg($resized,$img_temp,$this->qualidade);
chmod($img_temp,0777);
}
if($this->mostrar==true) {
header(‘Content-type: image/jpg’);
imagejpeg($resized,”,$this->qualidade);
}
}
}
function Upload($PicFile) {
$this->Size = $PicFile["size"];
$this->tipo_img = $PicFile["type"];
$this->TmpName = $PicFile["tmp_name"];
$TmpPath = $this->salvar_dir.$this->salvar_nome;
copy($this->TmpName,$TmpPath);
chmod($TmpPath,0777);
}
}
?>
[ Download do source completo (rar) ]
admin Imagens, Upload Imagens, Manipulação de imagens, Objeto, PHP, PHPOO, Tutorial, Upload
Comentários