Ver Mensaje Individual
  #1 (permalink)  
Antiguo 12/11/2011, 15:23
Fabih24
 
Fecha de Ingreso: mayo-2010
Mensajes: 66
Antigüedad: 14 años, 9 meses
Puntos: 2
Subida de Imagenes proporcionales

Hola, he encontrado en internet esta función para restablecer el tamaño de las imagenes proporcionalmente pero tengo algunos problemas para entenderla...

Agradecería si alguno me pudiera explicar que debería devolverme el "return $imagen"... Yo lo pruebo y me devuelve "Resource id #11" ¿Qué significa eso?

Código PHP:
function image_gd($file)
{
//Separamos las extenciones de archivos para definir el tipo de ext.
$extension explode(".",$file);
$ext count($extension)-1;
//Determinamos las extenciones permitidas.
if($extension[$ext] == "jpg" || $extension[$ext] == "jpeg")
{
$image ImageCreateFromJPEG($file);
}
else if(
$extension[$ext] == "gif"){
$image ImageCreateFromGIF($file);
}
else if(
$extension[$ext] == "png"){
$image ImageCreateFromPNG($file);
}
else
{
echo 
"Error, extencion no permitida";
die();
}

$thumb_name substr($file,0,-4);//nombre del thumbnail
$width imagesx($image);//ancho
$height imagesy($image);//alto

$nueva_anchura 400// Definimos el tamaño a 100 px
$nueva_altura = ($nueva_anchura $height) / $width // tamaño proporcional

if (function_exists("imagecreatetruecolor"))
{
$thumb ImageCreateTrueColor($nueva_anchura$nueva_altura);//Color Real
}
//En caso de no encontrar la funcion, la saca en calidad media
if (!$thumb$thumb ImageCreate($nueva_anchura$nueva_altura);

ImageCopyResized($thumb$image0000$nueva_anchura$nueva_altura$width$height);
//header("Content-type: image/jpeg");
ImageJPEG($thumb"".$thumb_name.".jpg"99);
imagedestroy($image);

return 
$image;
}
/* Forma de uso */
//for($total=$total;$total>0;$total--){
//Nombre de la imagen Original
image_gd($file);
//} 
Esta función la quiero añadir a otra funcion que hice para subir una noticia con una imagen:

Código PHP:
function validar_noticia($usuario$titulo$tratade$noticia$filename$tamano_archivo$tmp_name)
{
// SI EL ARCHIVO NO ES JPG
$palabra=preg_quote('.jpg');
$palabra2=preg_quote('.jpeg');
if(!
eregi($palabra,$filename) && !eregi($palabra2,$filename))
    return 
"La imagen debe estar en formato JPG";

// COMPRUEBA QUE EL ARCHIVO JPG SEA MENOR DE 3 MB...
if ($tamano_archivo>3000000)
    return 
"La imagen no puede sobrepasar los 3MB.";
    
//SUBIR UNA NOTICIA
if (!$this->DB_Connect())
    {
        return 
"No se ha podido hacer la consulta en la Base de Datos, por favor intentelo mas tarde.";
    }
    
$result mysql_query("SELECT UsuarioID 
            FROM usuarios
            WHERE Usuario='$usuario'"
);

$row=mysql_fetch_array($result);

$numero_usuario=$row['UsuarioID']; // Cambia el nombre de usuario por su ID

$no mysql_query("SELECT COUNT(*) 
            FROM noticias_pendientes
            WHERE Subidopor='$numero_usuario'     
            AND Titulo='$titulo'
            "
);

$cant mysql_fetch_array($no);

if (
$cant[0] > 0)
{    return 
"Esta noticia ya ha sido subida."; }
else
{


$result mysql_query("insert into noticias_pendientes values
                        ('$numero_usuario', '$titulo', '$tratade', '$noticia', now())"
);
}
   if (!
$result)
    return 
"No se pudo ingresar la noticia en la base de datos, intentelo más tarde.";
   else { 
   
$name $titulo.".jpg";
$filename trim($name); //Nombre del archivo 
$filename str_replace(" ","_",$name); //Remplaza los espacios en blanco por _

$uploaddir "../../noticias/img_tmp/"// Directorio de la imagen subida
$uploadfile $uploaddir $filename//Direccion del archivo subido  

//$tmp_imagen = $this->image_gd($tmp_name);
//echo $tmp_imagen;

    
if (move_uploaded_file($tmp_name$uploadfile)) 
    { 
//Si se sube correctamente devuelve verdadero
        
mysql_close();
        return 
1;
    }
    else
    { 
//Si hay algun error borra el registro de la BD y la carpeta
      
mysql_query("DELETE FROM noticias_pendientes 
                   WHERE Subidopor='$numero_usuario'     
                   AND Titulo='$titulo'
                   "
);
     return 
"La noticia no pudo ser subida correctamente, por favor intentelo de nuevo.";
    }

    }

Disculpen pero ando medio perdido con el tema de las imagenes, espero que alguien me pueda orientar.

Gracias.