Foros del Web » Programando para Internet » Javascript »

tamaño máximo de imagen en form

Estas en el tema de tamaño máximo de imagen en form en el foro de Javascript en Foros del Web. Tengo un formulario PHP en el que se suben unas imágenes a una base de datos. Quiero que esas imágenes no superen de tamaño 150x150 ...
  #1 (permalink)  
Antiguo 01/08/2010, 11:54
Avatar de Lutaj  
Fecha de Ingreso: septiembre-2007
Ubicación: Sevilla
Mensajes: 97
Antigüedad: 17 años, 3 meses
Puntos: 3
tamaño máximo de imagen en form

Tengo un formulario PHP en el que se suben unas imágenes a una base de datos. Quiero que esas imágenes no superen de tamaño 150x150 px ya que luego se muestran en una tabla y si son mayores se desbordan y la tabla se "desmadra".
¿Cómo podría crear una alerta para que no suban imágenes de mayor tamaño?
Gracias.
  #2 (permalink)  
Antiguo 01/08/2010, 15:14
Avatar de _cronos2
Colaborador
 
Fecha de Ingreso: junio-2010
Mensajes: 2.062
Antigüedad: 14 años, 6 meses
Puntos: 310
Respuesta: tamaño máximo de imagen en form

Que yo sepa no se pueden saber las dimensiones de un archivo que está en un input file hasta que este no se envía, entonces podría saberse con PHP me imagino.
Saludos (:
__________________
" Getting older’s not been on my plans
but it’s never late, it’s never late enough for me to stay. "
Cigarettes - Russian Red
  #3 (permalink)  
Antiguo 02/08/2010, 07:30
Avatar de Lutaj  
Fecha de Ingreso: septiembre-2007
Ubicación: Sevilla
Mensajes: 97
Antigüedad: 17 años, 3 meses
Puntos: 3
Respuesta: tamaño máximo de imagen en form

Lo veo lógico. ¿Sabes cómo podría hacerlo con php?
Gracias.
  #4 (permalink)  
Antiguo 02/08/2010, 14:58
Avatar de _cronos2
Colaborador
 
Fecha de Ingreso: junio-2010
Mensajes: 2.062
Antigüedad: 14 años, 6 meses
Puntos: 310
Respuesta: tamaño máximo de imagen en form

Para serte sincero, no tengo ni la más remota idea de PHP xD
__________________
" Getting older’s not been on my plans
but it’s never late, it’s never late enough for me to stay. "
Cigarettes - Russian Red
  #5 (permalink)  
Antiguo 02/08/2010, 19:16
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años, 8 meses
Puntos: 1284
Respuesta: tamaño máximo de imagen en form

Hola:

Tal vez te sirva este artículo: Revisar las imágenes antes de subirlas

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #6 (permalink)  
Antiguo 03/08/2010, 06:56
Avatar de Lutaj  
Fecha de Ingreso: septiembre-2007
Ubicación: Sevilla
Mensajes: 97
Antigüedad: 17 años, 3 meses
Puntos: 3
Respuesta: tamaño máximo de imagen en form

Gracias, Caricatos. Me pongo a estudiarlo a ver si soluciono el problema.
  #7 (permalink)  
Antiguo 15/08/2010, 10:34
Avatar de Lutaj  
Fecha de Ingreso: septiembre-2007
Ubicación: Sevilla
Mensajes: 97
Antigüedad: 17 años, 3 meses
Puntos: 3
Respuesta: tamaño máximo de imagen en form

Llevo varios días intentando adaptar el ejemplo de Caricatos a mis necesidades, pero no lo consigo, me resulta bastante complicado. Debo reconocer que el trabajo de Caricatos es excelente, pero me supera tanto en mis habilidades como en mis necesidades.

Resumiendo, quisiera replantear mis pregunta para ver de simplificarla:
¿Podríamos adaptar el tamaño de la imagen recibida en el form para que no desborde la tabla donde se va a mostrar?
  #8 (permalink)  
Antiguo 15/08/2010, 11:08
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años, 8 meses
Puntos: 1284
Respuesta: tamaño máximo de imagen en form

Cita:
Iniciado por Lutaj Ver Mensaje
Llevo varios días intentando adaptar el ejemplo de Caricatos a mis necesidades, pero no lo consigo, me resulta bastante complicado. Debo reconocer que el trabajo de Caricatos es excelente, pero me supera tanto en mis habilidades como en mis necesidades.

Resumiendo, quisiera replantear mis pregunta para ver de simplificarla:
¿Podríamos adaptar el tamaño de la imagen recibida en el form para que no desborde la tabla donde se va a mostrar?
Hola:

Las imágenes recibidas en un formulario (adjuntas) no pueden tratarse en el navegador, y por eso es preciso chequearlas en el servidor.

La alternativa podría ser reducir las imágenes con javascript, pero sólo en aspecto, modificando sus atributos width/height; el peso no variaría y siempre tendrías el problema.

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #9 (permalink)  
Antiguo 15/08/2010, 16:47
Avatar de gioramies  
Fecha de Ingreso: febrero-2008
Ubicación: Colombia
Mensajes: 217
Antigüedad: 16 años, 9 meses
Puntos: 14
Respuesta: tamaño máximo de imagen en form

Hola Lutaj. El artículo que te sugirió caricatos es muy bueno, aunque bastante avanzado, yo diría que está en el nivel 6.5/10 XD

Yo te recomiendo que utilices la clase simpleimage.class.php que con tan solo incluir el archivo puedes utilizar una funcion para conocer el ancho, el alto o el peso de una imagen, y con otra funcion puedes redimensionar la imagen al tamaño que quieras.

Te recomiendo que si vas a redimensionar una imagen png, esta no tenga espacios transparentes porque apareceran negros.

En el enlace está la clase y una muy buena documentación, si necesitas ayuda aquí estaremos.

Saludos.
  #10 (permalink)  
Antiguo 15/08/2010, 17:05
Avatar de gioramies  
Fecha de Ingreso: febrero-2008
Ubicación: Colombia
Mensajes: 217
Antigüedad: 16 años, 9 meses
Puntos: 14
Respuesta: tamaño máximo de imagen en form

Por si algo, aquí te dejo un ejemplo de cómo la utilicé en una ocasión:

Código PHP:
    include_once "simpleimage.class.php"// Incluyo el archivo

    
$pos strrpos($_FILES['userfile']['name'],"."); // Determinar la posición del punto (todo archivo se escribe nombre_archivo.extension)
    
$ext substr($_FILES['userfile']['name'],$pos); // Extraer la cadena de texto que está después del punto (esa es la extensión de la imagen)
    
$ext strtolower($ext); // Convertir las letras de la extensión en minúscula (para mantener un estándar y evitar inconvenientes con algunos sistemas operativos)

    
$uploaddir 'mis_images/'// Directorio donde voy a subir la imagen
    
    
$newfilename basename($product_id). mt_rand() . $ext// Renombro la imagen (en mi caso necesita hacerlo)
    
$uploadfile $uploaddir $newfilename// Ruta completa y nombre
    
    // Dentro del siguiente if subo la imagen al servidor, y esta función me retorna true o false dependiendo de si la imagen se subió correctamente o no
    
if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile)) {

        
// Ahora si..... a utilizar las funciones de la clase SimpleImage del archivo simpleimages.class.php
        
$image = new SimpleImage(); // Creo un objeto de la clase.
        
$image->load($uploadfile); // Cargo la imagen que acabo de subir.
        
$width $image->getWidth(); // Averiguo cual es el archo de la imagen.
        
$height $image->getHeight(); // Averiguo cual es el alto de la imagen.
        
        // A continuación escalo la imagen proporcionalmente al lado que es mas largo (tu puedes hacerlo como desees).
        
if ( $width $height ) {
            
$image->resizeToWidth(128);
        }
        else {
            
$image->resizeToHeight(128);
        }

        
$image->save($uploadfile); // Guardo la imagen (sobre escribo la imagen origina que subí inicialmente, por esta redimensionada)
    
    

Creo que asi es, lo acabo de adaptar de uno que tenia, pero este no lo he probado.

Saludos.

Última edición por gioramies; 15/08/2010 a las 17:07 Razón: Arreglos del código
  #11 (permalink)  
Antiguo 16/08/2010, 10:04
Avatar de Lutaj  
Fecha de Ingreso: septiembre-2007
Ubicación: Sevilla
Mensajes: 97
Antigüedad: 17 años, 3 meses
Puntos: 3
Respuesta: tamaño máximo de imagen en form

Muy interesante. Voy a estudiarlo, aunque te diré que si el artículo de Caricatos tiene un 6,5/10 el tuyo tampoco queda muy bajo ¿eh?
Gracias.

Etiquetas: tamaño, formulario
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 13:52.