Foros del Web » Programando para Internet » PHP »

Subida de Imagenes proporcionales

Estas en el tema de Subida de Imagenes proporcionales en el foro de PHP en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 12/11/2011, 15:23
 
Fecha de Ingreso: mayo-2010
Mensajes: 66
Antigüedad: 14 años
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.
  #2 (permalink)  
Antiguo 12/11/2011, 21:17
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: Subida de Imagenes proporcionales

Lo que pasa es que esa funcion no te devuelve una imagen (como tal), sino el identificador usado por la libreria GD para manipularla.

Si no lo entiendes y quieres algo sencillo con ejemplos, te recomiendo leer el aporte de Abimael: http://www.forosdelweb.com/wiki/PHP:...as_al_servidor
__________________
- León, Guanajuato
- GV-Foto
  #3 (permalink)  
Antiguo 13/11/2011, 05:19
 
Fecha de Ingreso: mayo-2010
Mensajes: 66
Antigüedad: 14 años
Puntos: 2
Respuesta: Subida de Imagenes proporcionales

Muchas gracias, logré hacer lo qué quería con esos ejemplos.

Saludos.

Etiquetas: imagenes, mysql, registro, sql, subida, usuarios
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 07:26.