Yo tengo un código asi, pero seria mejor que supieras como se hace.
bueno te dejo una clase para hacer thumbnails y un ejemplo muy bueno
para subir una imagen hay miles de ejmplos en la web aprende a usarlos cuando lo logres.
usas una condicional
para validar la imagen como esta
Código HTML:
Ver originalif($tipo == "image/jpeg")
{
$ext='.jpg';
$ima = antidet($nom).$ext;
copy($temp,"imaganime/".$ima);
//thumb
include("image.php");
//imagen origen
$imagen = "imaganime/".$ima;
//crear objeto
$thumbnails = new Imagenes();
//indicar la imagen origen
$thumbnails->setImagen($imagen);
//indicar el formato de la imagen origen
$thumbnails->setFormato("jpg");
/*indicar el nivel de compresión. Segun este nivel la imagen
tendra mayor o menos calidad.*/
$thumbnails->setCompresion(90);
//indicar donde se creará y con que nombre el thumbnails
$thumbnails->setNombre("thumb/".$ima);
//indicar el tamaño del thumbnails (250)
$thumbnails->reducir(150);
$sql = "aqui insertas tu consulta sql";
$res = mysql_query($sql,$con);
//yo hago una redireccion para salir de la pagina una vez subida la imagen
echo
"
<script type='text/javascript'> alert('La imagen ha sido añadida, gracias¡¡¡');
window.location='index.php';
}
else
{
echo "
<span style='color:white'>la imagen no es válida
</span><br /><input type='button' value='Volver' onclick='history.back()'>";
}
aqui la clase que saque de estos foros
clase image.php
Código PHP:
Ver original<?php
/**
* Creación de thumbnails ( creación de imágenes en miniatura )
*
*/
class Imagenes
{
//Propiedades de la clase
private $_imagen;
private $_formato = 'jpg';
private $_nuevaImagen;
private $_compresion = 90;
private $_nombre;
/**
* Verificar si la libreria GD esta instalada.
*/
public function __construct()
{
foreach ($gd as $key => $valor)
{
if(!$valor) {
return 'La libreria GD no esta disponible.';
}
}
}
/**
* Indicar a la clase con que imagen vamos a trabajar, es decir, a que
* imagen le vamos a crear un thumbnails.
*/
public function setImagen($urlImagen)
{
$this->_imagen = $urlImagen;
}
/*
* Indicar el formato de que tiene la imagen. La indicada en el
* método "setImagen".
*/
public function setFormato($ext)
{
switch($ext)
{
case "jpeg":
$this->_formato = $ext;
break;
case "jpg":
$this->_formato = $ext;
break;
case "png":
$this->_formato = $ext;
break;
default : return "Formato de imagen NO soportado.[jpeg|jpg|png]";
}
}
/**
* Obtener el ancho (width) de la imagen.
*/
public function getImagenX()
{
}
/**
* Obtener el alto (height) de la imagen.
*/
public function getImagenY()
{
}
/**
* Nivel de compresión de la nueva imagen.
* Máximo 100.
* Cuanto mayor sea este valor mejor sera la calidad,
* pero tambien aumentara el tamaño.
*/
public function setCompresion($compresion)
{
$this->_compresion = $compresion;
}
/**
* Idicar nombre y ruta para la nueva imagen.
*/
public function setNombre($nombre)
{
$this->_nombre = $nombre;
}
/**
* Redimensionar imagen.
* Este método recibe el ancho (x) y el alto (y) que tendra
* la nueva imagen.
* Si $y no se indica, este se añadira con un ancho proporcinal.
*/
public function reducir($x, $y = 0)
{
if($y == 0) {
//Obtener el alto proporcionalmente.
}
$this->_imagen,
0,
0,
0,
0,
$x,
$y,
switch($this->_formato)
{
case "jpeg": imagejpeg($this->_nuevaImagen
,$this->_nombre
,$this->_compresion
); break;
case "jpg": imagejpeg($this->_nuevaImagen
,$this->_nombre
,$this->_compresion
); break;
case "png": imagepng($this->_nuevaImagen
,$this->_nombre
,$this->_compresion
); break;
default : return "Formato de imagen NO soportado.[jpeg|jpg|png]";
break;
}
}
}
?>