Foros del Web » Programando para Internet » Javascript »

subir imagen solo de un tamaño

Estas en el tema de subir imagen solo de un tamaño en el foro de Javascript en Foros del Web. Hola amigos del web ... uso este codigo para subir una nueva imagen ... como limitar que el tamaño unico para subir la imagen sea ...
  #1 (permalink)  
Antiguo 26/08/2009, 10:10
Avatar de Superlinux  
Fecha de Ingreso: octubre-2005
Ubicación: Colombia
Mensajes: 662
Antigüedad: 18 años, 6 meses
Puntos: 1
Pregunta subir imagen solo de un tamaño

Hola amigos del web ... uso este codigo para subir una nueva imagen ... como limitar que el tamaño unico para subir la imagen sea de ejemplo 100 px por 200 px

Código PHP:
        // verifico si hay arhivo de imagen.
        
if ($_FILES['logo'] )
        {
            
// Obtengo la extensión del archivo.
            
$extArchivo $objGeneral->tipoArchivos($_FILES['logo']['type']);
            
            
// Nombre del archivo final.
            
$nombreArchivo "especialista".$_POST[id].".".$extArchivo;

            
// Verifico si existe y lo elimino.
            
if (file_exists("../imgespec/".$nombreArchivo))
            {
                
unlink("../imgespec/".$nombreArchivo);
            }
//Fin del if 
            
            
if (file_exists("../imgespec/especialista".$_POST[id]."_s.jpg"))
            {
                
unlink("../imgespec/especialista".$_POST[id]."_s.jpg");
            }
//Fin del if
        
            // Verifico si existe las images y lo elimino.
            
if (file_exists("../imgespec/especialista".$_POST[id]."_m.jpg"))
            {
                
unlink("../imgespec/especialista".$_POST[id]."_m.jpg");
            }
//Fin del if

            // Copio el archivo a la carpeta.
            
copy($_FILES['logo']['tmp_name'], "../imgespec/".$nombreArchivo); 
        
             
// Creo la thumb Full
            
$objGeneral->crearThumb ($nombreArchivo"../imgespec/"350320"especialista".$_POST[id]); 
            
             
// Creo la thumb mediana
            
$objGeneral->crearThumb ($nombreArchivo"../imgespec/"150120"especialista".$_POST[id]."_m"); 

             
// Creo la thumb pequeña
            
$objGeneral->crearThumb ($nombreArchivo"../imgespec/"8060"especialista".$_POST[id]."_s");
            
            
             
// Actualizo la base con el nombre del archivo.
            
$registro['idEspecialista'] = $_POST[id];
            
            
$registro['img_especialista'] = $nombreArchivo;
            
            
//Actualizar en la base de datos
            
$sql->actualizar("especialista"$registro"idEspecialista"); 
                        
        }
//Fin del if 
__________________
"La vida sigue su curso, tú toma parte de ella."
  #2 (permalink)  
Antiguo 26/08/2009, 10:44
 
Fecha de Ingreso: agosto-2009
Mensajes: 14
Antigüedad: 14 años, 8 meses
Puntos: 0
Respuesta: subir imagen solo de un tamaño

Que yo sepa, en cliente (javascript) no puedes hacer nada, quizas con algun activeX puedas comprobar el tamaño en pixeles de la imagen.

En el script php que tienes arriba puedes usar:

Código PHP:
list($width$height) = getimagesize($_FILES['logo']); 
Ahí tienes en las variables $width y $height el tamaño en pixeles de la imagen. Con esos datos puedes validar la imagen o no. Tambien puedes usar para cambiar el tamaño algo como:

Código PHP:
$newwidth 200;
$newheight 100;
$file_tmp $_FILES['logo']['tmp_name'];
$resized_img imagecreatetruecolor($newwidth,$newheight);
$new_img imagecreatefromgif($file_tmp);
imagecopyresized($resized_img$new_img0000$newwidth$newheight$width$height); 


Espero que te sirva!
  #3 (permalink)  
Antiguo 26/08/2009, 19:36
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Respuesta: subir imagen solo de un tamaño

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
  #4 (permalink)  
Antiguo 28/08/2009, 12:13
Avatar de Superlinux  
Fecha de Ingreso: octubre-2005
Ubicación: Colombia
Mensajes: 662
Antigüedad: 18 años, 6 meses
Puntos: 1
De acuerdo Respuesta: subir imagen solo de un tamaño

mmm interesante .. muchas gracias .. caricatos ..
__________________
"La vida sigue su curso, tú toma parte de ella."
  #5 (permalink)  
Antiguo 31/08/2009, 10:36
Avatar de Superlinux  
Fecha de Ingreso: octubre-2005
Ubicación: Colombia
Mensajes: 662
Antigüedad: 18 años, 6 meses
Puntos: 1
Respuesta: subir imagen solo de un tamaño

gracias caricatos genial tu codigo .. pero sabes he intentado eliminar la parte del preview para ahorrar espacio en mi formulario pero sin exito ..

esta parte no se entiende muy bien ..

Código PHP:
<?php
    session_start
();
    
$defecto "../img/logo_zonavital.png";
    
$Ok = isset($_FILES["imgadjunta"]);
    
$url = ($Ok) ? $_FILES["imgadjunta"]["tmp_name"] : $defecto;
    list(
$anchura$altura$tipoImagen$atributos) = getimagesize($url);
    
$error = (isset($atributos)) ? 1;
    
$los_tipos = array("jpg");
    
$tipo = ($Ok) ? "image/".$los_tipos[$tipoImagen 1] : "image/gif";
    
$fichero = ($Ok && ($error == 0)) ? $_FILES["imgadjunta"]["name"] : $defecto;
    
$tam filesize($url);
    
$OkTam = isset($_POST["maxpeso"]);
    
$OkAncho = isset($_POST["maxancho"]);
    
$OkAlto = isset($_POST["maxalto"]);
    
$maxTam = ($OkTam) ? (int) $_POST["maxpeso"]: 200000;
    
$maxAncho = ($OkAncho) ? (int) $_POST["maxancho"]: 437;
    
$maxAlto = ($OkAlto) ? (int) $_POST["maxalto"]: 318;
    
$error += ($tam <= $maxTam) ? 2;
    
$ancho = ($error == 1) ? $anchura;
    
$alto = ($error == 1) ? $altura;
    
$error += ($ancho <= $maxAncho) ? 4;
    
$error += ($alto <= $maxAlto) ? 8;
    
$datos = ($error == 0) ? $url $defecto;
    
$onload = ($Ok) ? "onload='parent.datosImagen($tam, $ancho, $alto, $error)'"'';
    
$datos_imagen fread(fopen($datos"rb"), filesize($datos));
    
$_SESSION["cont"] = $datos_imagen;
    
$_SESSION["tipo"] = ($error == 0) ? $tipo "image/gif";
?>
<html >
<head>
<style type="text/css" >
html    {
    height: 100%;
}
body    {
    height: 100%;
    overflow: hidden;
    background-color: #eeeeee;
    background-image: url(previendo.php?dato=<?=$fichero;?>);
    background-repeat: no-repeat;
    background-position: center center;
}
</style>
</head>
<body <?=$onload;?>></body>
</html>

se que es mucho abusar .... pero me puedes decir como se hace ???

soy nuevo en manejo de imagenes
__________________
"La vida sigue su curso, tú toma parte de ella."
  #6 (permalink)  
Antiguo 31/08/2009, 15:51
Avatar de Superlinux  
Fecha de Ingreso: octubre-2005
Ubicación: Colombia
Mensajes: 662
Antigüedad: 18 años, 6 meses
Puntos: 1
Respuesta: subir imagen solo de un tamaño

...

hola caricatos .. la mejor forma que encontre fue dandole valores al frame de

<iframe src="../validarimagen/previsor.php" id="ver" name="ver" style="display: block; margin: auto; border-width: 0px; width: 0px; height: 0px;"></iframe>

....

pero se me presento un problemilla .. la pagina donde cargo el menu usa un iframe para cargar dos sesiones .. de pagina .. una el menu y la otra el contenido ..

el inconveniente esta que cuando empiezo a usar la seccion de subir imagenes haciendo uso del iframe

<iframe src="previsor.php" id="ver" name="ver" style="display: block; margin: auto; border-width: 0px; width: 0px; height: 0px;"></iframe>

no funciona .. ya que ese se carga a la vez sobre otro iframe llamado

<iframe name="contenido" src="especialistas.php" width="920" height="850" scrolling="auto" marginwidth="50" marginheight="50" frameborder="0"> Su navegador no soporta iframes</iframe>

mmmmmm
__________________
"La vida sigue su curso, tú toma parte de ella."
  #7 (permalink)  
Antiguo 01/09/2009, 12:31
Avatar de Superlinux  
Fecha de Ingreso: octubre-2005
Ubicación: Colombia
Mensajes: 662
Antigüedad: 18 años, 6 meses
Puntos: 1
De acuerdo Respuesta: subir imagen solo de un tamaño

ok problema resuelto .. gracias caricatos ..

__________________
"La vida sigue su curso, tú toma parte de ella."
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 14:17.