pues luego de leer este articulo
http://www.xombra.com/go_articulo.php?nota=67
lean la parte que dice sobre --->función PHP getimagesize()....
ya no se que pensar con todo esto

me parece algo ilusorio pero por las dudas....
igualmente sigo adelante con mi codigo, creo que se puede por lo que he leido:
getimagesize() y los tipos MIME
Código PHP:
<?php
$tam = getimagesize($nombre_archivo);
$da = fopen($nombre_archivo, "rb");
if ($tam && $da) {
header("Content-type: {$tam['mime']}");
fpassthru($da);
exit;
} else {
// error
}
?>
channels será 3 para imágenes RGB y 4 para imágenes CMYK. bits es el número de bits para cada color. Sin embargo, para algunos tipos de imagen, la presencia de estos valores puede ser un poco confusa. Como un ejemplo, GIF siempre usa 3 canales por píxel, pero el número de bits por píxel no puede ser calculado para un GIF animado con una tabla de colores global.
En caso de fallos, se devuelve FALSE.
pero a un no me queda muy claro como identifica un jpg o un gif , de todos modos lo que tengo hecho es algo asi:
Código PHP:
<?php
//tomo nombre de imagen para ver como se llama
$imgen_nombre1=$_FILES['imgen_nombre1']['name'];
///reemplazo caracteres especiales en el nombre
//llamo a mi funcion $cambio_carateres
$imgen_nombre1=str_replace($cambio_carateres,'',$imgen_nombre1);
//SI hay una imagen en el formulario de subida
if(!empty($imgen_nombre1))
{
$extension=$_FILES['imgen_nombre1']['type'];
//almaceno temp
if($extension=="imagenes/pjpeg" || $extension=="imagenes/png" || $extension=="imagenes/gif" || $extension=="imagenes/jpeg")
{
///agrego para verificar imagen no me queda claro a un como usar esta cosa :-(
$tam = getimagesize($imgen_nombre1);
$da = fopen($imgen_nombre1, "rb");
if ($tam && $da) {
header("Content-type: {$tam['mime']}");
fpassthru($da);
exit;
} else {
//envio un mail por si las dudas de la imagen
mail("[email protected]", "URGENTE SE INTENTA SUBIR FICHERO COMO IMAGEN Y NO ES IMAGEN EN PORTAL!!",
$_SERVER['REMOTE_ADDR']);
//MUESTRO UN MENSAJE PARA QUE EL PILLO HAGA CLIC
// lo llevo a una pagina que deseo, alli puedo colocar lo que quiera :-)
//un mensaje un auto-descarga etc etc...
echo "Su post ha sido insertado con exito <a href=\"exitoB.html\"><?=$categoryname?></a>";
exit;
}
/// SI PASA el getimagesize uno continuo
srand();
$llave=substr(md5(rand(0,1000)),0,5);
$imgen_nombre1=urlencode($imgen_nombre1);
$fecha_subida=date("d-m-Y");
//creo el nuevo nombre para la imagen
$imgen_nombre1="$fecha_subida"."_"."$grabo_nombre_usuario"."$llave"."_"."$imgen_nombre1";
///AHORA AQUI ES DONDE ME ROMPO EL MATE PENSADO
//PUES EN ESTE PUNTO DEBERIA CAMBIAR EL NOMBRE DE IMAGEN EL TEMA ES QUE SI CAMBIO EL NOMBRE
// EL ARCHIVO PIEDE LA EXTENSION Y NO TENOG LA PALIDA IDEA DE COMO AGREGARLE UNA NUEVA EXTESION
//O SEA AGREGAR LA MISMA EXTENSION QUE TENIA ANTES Y LUEGO ALMACER EN LA DB UN ID PARA PODER LLAMAR
//LLAMAR A LA IMAGEN <img src='http://www.miweb.com/imagen.php?id_imgen=xxx'>
// de este modo se podra controlar que el id_imagen siempre sea un numero sin extension
// PERO AUN NO SE COMO HACERLO :-(
//ADEMAS SI SE LOGRARA IMPLEMENTAR EL TIO QUE SUBIO LA IMAGEN JAMAS SABRA CUAL ES EL NOMBRE
//DE LA MISMA Y SI LO SUPIERA NECESITARA UNA LLAVE :-)
// DE MOMENTO LO TENGO ASI
//guardo en directorio la nueva imagen
$directorio_subida="imagenes_subidas/$imgen_nombre1";
move_uploaded_file($_FILES['$imgen_nombre1']['tmp_name'],$directorio_subida);
chmod ("$directorio_subida",0755);
///aprovecho para generar las miniaturas de las imagenes
//bueno aqui uso un archivo externo para crear las iamgenes pequñas
//el cual voy a llamar con un require
list($alto_archivo,$ancho_archivo)=getimagesize($directorio_subida);
$dir_chicas="chicas/".$imgen_nombre1;
//doy el ancho y alto de las imagenes chicas
//donde subida_chica es una funcion a crear en el archivo que
//reducira la imagen
$subida_chicas=reduce_image($directorio_subida,80,80,$dir_chicas);
//ahora creo la seccion imagen_nombre para pasar a la siguiente pagina
//
$_SESSION['imgen_nombre1']=$_FILES['imgen_nombre1']['name'];
$_SESSION['imgen_nombre1']=$imgen_nombre1;
}
else
{
///algo para avisar que debe cargar una imagen
}
}
///
if(!empty($_SESSION[image1])
{
if(empty($_SESSION['image1']))
{
//erro la secion es vacia o algo
}
}
?>
si se pudiera canbiar el nombre de la imagen en el punto que indico usando un un ecriptado md5 ahi estaria bueno por que luego se podria controlar que sea un numero relacion con id en BD, la macana es que hacer esto a la variable $imgen_nombre1 implicaria peder la extension del archivo, y luego se almacenaria un arhcivo sin extension....
pos no se si esta bien pero es lo que tengo luego voy a probar si funciona, en terioria deberia funciona, pero ya saben como es esto
saludos!!