Foros del Web » Programando para Internet » PHP »

Subir archivo condicion

Estas en el tema de Subir archivo condicion en el foro de PHP en Foros del Web. bueno mi duda es la siguiente, yo subo un archivo al FTP por medio de un formulario y compruebo que sea JPG y sea menor ...
  #1 (permalink)  
Antiguo 05/02/2008, 11:03
 
Fecha de Ingreso: enero-2008
Ubicación: Buenos Aires
Mensajes: 305
Antigüedad: 16 años, 3 meses
Puntos: 14
Subir archivo condicion

bueno mi duda es la siguiente, yo subo un archivo al FTP por medio de un formulario y compruebo que sea JPG y sea menor a 100kb de la siguiente manera:

Código PHP:
If($_FILES['fichero']['size'] < 102400 && $_FILES['fichero']['type']=="image/jpeg" 
Pero tambien, quiero comprobar el width y height de la imagen, por ejemplo que sea de 120x120.

Se puede lograr esto?
  #2 (permalink)  
Antiguo 05/02/2008, 12:16
Avatar de agressor  
Fecha de Ingreso: noviembre-2007
Ubicación: Knocking the Death Door..
Mensajes: 368
Antigüedad: 16 años, 5 meses
Puntos: 3
Re: Subir archivo condicion

<?php
list($ancho, $altura, $tipo, $atr) = getimagesize("img/bandera.jpg");
echo "<img src=\"img/bandera.jpg\" $atr alt=\"ejemplo de getimagesize()\" />";
?>

puedes colocar el nombre de la variable donde amacenas la direccion en vez de "img/bandera.jpg" proba tal vez te funcione por que he leido por ahi que la imagen debe de estar en el servidor para saber eso.. pero prueba nada pierdes..

Salu2.!!
__________________
Somos lo que nosotros queremos ni mas ni menos..
No hay dia mas perdido que aquel en que no hemos reido..
La vida es tal y como debe ser...
Nadie vivira por ti...
  #3 (permalink)  
Antiguo 05/02/2008, 13:42
 
Fecha de Ingreso: enero-2008
Ubicación: Buenos Aires
Mensajes: 305
Antigüedad: 16 años, 3 meses
Puntos: 14
Re: Subir archivo condicion

el problema es qe tengo que verificar el ancho y alto antes de subirla al servidor..

Osea, si la imagen no es mayor a 120x120 qe la suba, sino qe tire error. Ese es el problema :/
  #4 (permalink)  
Antiguo 05/02/2008, 13:49
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Re: Subir archivo condicion

No puedes saber el tamaño antes de subir con PHP. Si lo necesitas de esa forma debes de usar algun Applet en Java o un control ActiveX que tenga la capacidad de abrir una imagen y obtener el tamaño antes de enviarla al servidor.

Saludos.
  #5 (permalink)  
Antiguo 05/02/2008, 13:51
Avatar de agressor  
Fecha de Ingreso: noviembre-2007
Ubicación: Knocking the Death Door..
Mensajes: 368
Antigüedad: 16 años, 5 meses
Puntos: 3
Re: Subir archivo condicion

pues mira lo que te puedo recomendar es que cuando la subas la redimensiones..

http://www.webtaller.com/construccio...ar_imagenes_ph
p.php

Aqui te explican como espero te sirva..

Salu2.!!
__________________
Somos lo que nosotros queremos ni mas ni menos..
No hay dia mas perdido que aquel en que no hemos reido..
La vida es tal y como debe ser...
Nadie vivira por ti...
  #6 (permalink)  
Antiguo 05/02/2008, 13:54
 
Fecha de Ingreso: enero-2008
Ubicación: Buenos Aires
Mensajes: 305
Antigüedad: 16 años, 3 meses
Puntos: 14
Re: Subir archivo condicion

Se puede llegar a conseguir GatorV? porque 0 idea yo de java =/

Es simplemente para el perfil de un usuario esto. Osea no quiero dejar que suban imagenes grandes y aparte siempre que la muestro, se muestra en 120x120, y para que no se vea cortada.
  #7 (permalink)  
Antiguo 05/02/2008, 14:21
 
Fecha de Ingreso: enero-2008
Ubicación: Buenos Aires
Mensajes: 305
Antigüedad: 16 años, 3 meses
Puntos: 14
Re: Subir archivo condicion

probe redimencionandola, pero no me funciona :(

Código PHP:
            $filename $url;
            
header("Content-type: image/jpeg");
            list(
$width$height) = getimagesize($filename);
            
$width2 120;
            
$height2 120;
            
$thumb imagecreate($width2$height2);
            
$source imagecreatefromjpeg($filename);
            
imagecopyresized($thumb$source0000$width2$height2$width$height);
            
imagejpeg($thumb); 
  #8 (permalink)  
Antiguo 05/02/2008, 14:38
Avatar de agressor  
Fecha de Ingreso: noviembre-2007
Ubicación: Knocking the Death Door..
Mensajes: 368
Antigüedad: 16 años, 5 meses
Puntos: 3
Re: Subir archivo condicion

Te tira algun error o algo.. que es lo que te sucede??

Salu2..!
__________________
Somos lo que nosotros queremos ni mas ni menos..
No hay dia mas perdido que aquel en que no hemos reido..
La vida es tal y como debe ser...
Nadie vivira por ti...
  #9 (permalink)  
Antiguo 05/02/2008, 14:41
Avatar de agressor  
Fecha de Ingreso: noviembre-2007
Ubicación: Knocking the Death Door..
Mensajes: 368
Antigüedad: 16 años, 5 meses
Puntos: 3
Re: Subir archivo condicion

<?
$origen="img/imagen.jpg";
$destino="img/nuevaimagen.jpg";
$destino_temporal=tempnam("tmp/","tmp");
redimensionar_jpeg($origen, $destino_temporal, 300, 350, 100);

// guardamos la imagen
$fp=fopen($destino,"w");
fputs($fp,fread(fopen($destino_temporal,"r"),files ize($destino_temporal)));
fclose($fp);

// mostramos la imagen
echo "<img src='img/nuevaimagen.jpg'>";

function redimensionar_jpeg($img_original, $img_nueva, $img_nueva_anchura, $img_nueva_altura, $img_nueva_calidad)
{
// crear una imagen desde el original
$img = ImageCreateFromJPEG($img_original);
// crear una imagen nueva
$thumb = imagecreatetruecolor($img_nueva_anchura,$img_nueva _altura);
// redimensiona la imagen original copiandola en la imagen
ImageCopyResized($thumb,$img,0,0,0,0,$img_nueva_an chura,$img_nueva_altura,ImageSX($img),ImageSY($img ));
// guardar la nueva imagen redimensionada donde indicia $img_nueva
ImageJPEG($thumb,$img_nueva,$img_nueva_calidad);
ImageDestroy($img);
}
?>

prueba con este codigo.. tal vez te funcione..

nunca he probado redimensionar imagenes.. todavia.. pero creo que comenzare.. XD

Salu2..!
__________________
Somos lo que nosotros queremos ni mas ni menos..
No hay dia mas perdido que aquel en que no hemos reido..
La vida es tal y como debe ser...
Nadie vivira por ti...
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:13.