Foros del Web » Programando para Internet » PHP »

No FUNCIONA - redimensionar imagen y hacer miniatura

Estas en el tema de No FUNCIONA - redimensionar imagen y hacer miniatura en el foro de PHP en Foros del Web. Tengo un formulario donde se inserta datos y 5 imagenes, quiero redimensionar dichas imagenes (550x312) y crear sus miniaturas (150x113), el problema que no me ...
  #1 (permalink)  
Antiguo 16/03/2007, 05:59
Avatar de alllebor  
Fecha de Ingreso: septiembre-2006
Mensajes: 295
Antigüedad: 17 años, 6 meses
Puntos: 1
No FUNCIONA - redimensionar imagen y hacer miniatura

Tengo un formulario donde se inserta datos y 5 imagenes, quiero redimensionar dichas imagenes (550x312) y crear sus miniaturas (150x113), el problema que no me funciona y no se que hacer, aqui os pongo el codigo.

Código PHP:
<?
//-----FUNCION REDIMENSIONAR------------
function redimensionar_jpeg($img_original$img_nueva$img_nueva_anchura$img_nueva_altura$img_nueva_calidad) {
 
// crear imagen desde original
$img ImageCreateFromJPEG($img_original);
 
// crear imagen nueva
$thumb imagecreatetruecolor($img_nueva_anchura,$img_nueva_altura);
 
// redimensionar imagen original copiandola en la imagen
imagecopyresampled ($thumb,$img,0,0,0,0,$img_nueva_anchura,$img_nueva_altura,imagesx($img),imagesy($img));
 
// guardar la imagen redimensionada donde indica $img_nueva
ImageJPEG($thumb,$img_nueva,$img_nueva_calidad);


//-------REDIMENSIONAR IMAGEN Nº 1------
$nombre_archivo1 $_FILES['imagen1']['name'];
$nombre_archivo1=  str_replace(' ''',$nombre_archivo1);
//tipo_archivo= a la extension del archivo en nuestro caso solo aceptamos imagenes (jpg, gif y png)
$tipo_archivo $_FILES['imagen1']['type'];
//compruebo si las características del archivo son las que deseo 
if($nombre_archivo!=''){
$dir="fotos/"//directorio donde estaran las imagenes 
$dirp="fotos/miniaturas/"//aqui estaran las miniaturas
move_uploaded_file($_FILES['imagen1'][$nombre_archivo1 ], $dir)
redimensionar_jpeg($_FILES['imagen1'][$nombre_archivo1 ],$dir.$nombre_archivo1,550,415,75);  
redimensionar_jpeg($_FILES['imagen1'][$nombre_archivo1 ],$dirp.$nombre_archivo1,150,113,75);
}
}
//EL CODIGO CONTINUA CON LA IMAGEN 2,3,.... E INSERTANDO LA INFORMACION EN LA BBDD
?>
El problema que no me da error ni nada, me pone en el campo de la base de datos el nombre de la imagen pero no me sube la imagen en la carpeta.
__________________
Quien no me pregunta no se entera!!

Última edición por alllebor; 21/03/2007 a las 02:31
  #2 (permalink)  
Antiguo 17/03/2007, 10:24
Avatar de gerson  
Fecha de Ingreso: febrero-2005
Ubicación: Lima
Mensajes: 481
Antigüedad: 19 años, 2 meses
Puntos: 4
Re: No FUNCIONA - redimensionar imagen y hacer miniatura

Cita:
Iniciado por alllebor Ver Mensaje
El problema que no me da error ni nada, me pone en el campo de la base de datos el nombre de la imagen pero no me sube la imagen en la carpeta.
Bueno no veo q utilices is_uploaded_file (para ver si fue cargado por HTTP POST) ni move_uploaded_file (para mover el archivo a tu carpeta "fotos/")

aqui puedes ver sobre estas funciones:
http://www.php.net/manual/es/feature...ad.post-method

Salu2
__________________

  #3 (permalink)  
Antiguo 21/03/2007, 02:07
Avatar de alllebor  
Fecha de Ingreso: septiembre-2006
Mensajes: 295
Antigüedad: 17 años, 6 meses
Puntos: 1
Re: No FUNCIONA - redimensionar imagen y hacer miniatura

Ahora si que me funciona, me crea la imagen y la miniatura, pero se ve todo negro , por que??
me sale unos cuantos warnings, se refieren a esta linea:
linea 46: ImageCopyResized($thumb,$img,0,0,0,0,$img_nueva_an chura,$img_nueva_altura,ImageSX($img),ImageSY($img ));


Warning: imagesx(): supplied argument is not a valid Image resource in /home/vhost/aer-ribera.com/venta/procesar.php on line 46

Warning: imagesy(): supplied argument is not a valid Image resource in /home/vhost/aer-ribera.com/venta/procesar.php on line 46

Warning: imagecopyresized(): supplied argument is not a valid Image resource in /home/vhost/aer-ribera.com/venta/procesar.php on line 46

Warning: Cannot modify header information - headers already sent by (output started at /home/vhost/aer-ribera.com/venta/procesar.php:46) in /home/vhost/aer-ribera.com/venta/procesar.php on line 164


Alguna idea??Por favor ayuda!!
__________________
Quien no me pregunta no se entera!!

Última edición por alllebor; 21/03/2007 a las 02:24
  #4 (permalink)  
Antiguo 21/03/2007, 11:11
Avatar de gerson  
Fecha de Ingreso: febrero-2005
Ubicación: Lima
Mensajes: 481
Antigüedad: 19 años, 2 meses
Puntos: 4
Re: No FUNCIONA - redimensionar imagen y hacer miniatura

Creo aqui esta tu problema:
Cita:
Iniciado por alllebor Ver Mensaje
Código PHP:
//-------REDIMENSIONAR IMAGEN Nº 1------
$nombre_archivo1 $_FILES['imagen1']['name'];
$nombre_archivo1=  str_replace(' ''',$nombre_archivo1);
//tipo_archivo= a la extension del archivo en nuestro caso solo aceptamos imagenes (jpg, gif y png)
$tipo_archivo $_FILES['imagen1']['type'];
//compruebo si las características del archivo son las que deseo 
if($nombre_archivo!=''){
$dir="fotos/"//directorio donde estaran las imagenes 
$dirp="fotos/miniaturas/"//aqui estaran las miniaturas
move_uploaded_file($_FILES['imagen1'][$nombre_archivo1 ], $dir)
redimensionar_jpeg($_FILES['imagen1'][$nombre_archivo1 ],$dir.$nombre_archivo1,550,415,75);  
redimensionar_jpeg($_FILES['imagen1'][$nombre_archivo1 ],$dirp.$nombre_archivo1,150,113,75);

Modifique tu codigo:
Código PHP:
//-------REDIMENSIONAR IMAGEN Nº 1------
$nombre_archivo1 $_FILES['imagen1']['name'];
$nombre_archivo1=  str_replace(' ''',$nombre_archivo1);
//tipo_archivo= a la extension del archivo en nuestro caso solo aceptamos imagenes (jpg, gif y png)
if ($_FILES['imagen1']['type'] == 'image/pjpeg') {
    
$tipo_archivo '.jpg';
//compruebo si las características del archivo son las que deseo 
    
if($nombre_archivo!=''){
        
$dir="fotos/"//directorio donde estaran las imagenes 
        
$dirp="fotos/miniaturas/"//aqui estaran las miniaturas
        
move_uploaded_file($_FILES['imagen1']['tmp_name'], $dir 'temp-' $nombre_archivo1 $tipo_archivo)
        
redimensionar_jpeg('temp-'.$dir.$nombre_archivo1.$tipo_archivo,$dir.$nombre_archivo1.$tipo_archivo,550,415,75);  
        
unlink('temp-'.$dir.$nombre_archivo1.$tipo_archivo);
        
redimensionar_jpeg($dir.$nombre_archivo1.$tipo_archivo,$dirp.$nombre_archivo1.$tipo_archivo,150,113,75);
    }

Haber si resulta.

Salu2
__________________

  #5 (permalink)  
Antiguo 22/03/2007, 07:47
Avatar de alllebor  
Fecha de Ingreso: septiembre-2006
Mensajes: 295
Antigüedad: 17 años, 6 meses
Puntos: 1
Re: No FUNCIONA - redimensionar imagen y hacer miniatura

OK muchas gracias!! Ahora si ke me funciona!!
__________________
Quien no me pregunta no se entera!!
  #6 (permalink)  
Antiguo 28/03/2007, 19:41
 
Fecha de Ingreso: enero-2007
Mensajes: 49
Antigüedad: 17 años, 2 meses
Puntos: 0
Exclamación Re: No FUNCIONA - redimensionar imagen y hacer miniatura

Hola amigos... estaba revisando lo redimensionar imagenes, use el codico que colocaron pero me salen estos errores...

Warning: imagecreatefromjpeg(temp-img_art/0018_1.jpg) [function.imagecreatefromjpeg]: failed to open stream: No such file or directory in E:\AppServ\www\la\control_archivos.php on line 13

Warning: imagesx(): supplied argument is not a valid Image resource in E:\AppServ\www\la\control_archivos.php on line 19

Warning: imagesy(): supplied argument is not a valid Image resource in E:\AppServ\www\la\control_archivos.php on line 19

Warning: imagecopyresampled(): supplied argument is not a valid Image resource in E:\AppServ\www\la\control_archivos.php on line 19

Warning: unlink(temp-img_art/0018_1.jpg) [function.unlink]: No such file or directory in E:\AppServ\www\la\control_archivos.php on line 48

Warning: imagejpeg() [function.imagejpeg]: Unable to open 'img_art/miniaturas/0018_1.jpg' for writing: No such file or directory in E:\AppServ\www\la\control_archivos.php on line 22

Y este es el codigo completo del archivo

Código PHP:
//-----FUNCION REDIMENSIONAR------------
function redimensionar_jpeg($img_original$img_nueva$img_nueva_anchura$img_nueva_altura$img_nueva_calidad) {
 
// crear imagen desde original
$img ImageCreateFromJPEG($img_original);
 
// crear imagen nueva
$thumb imagecreatetruecolor($img_nueva_anchura,$img_nueva_altura);
 
// redimensionar imagen original copiandola en la imagen
imagecopyresampled ($thumb,$img,0,0,0,0,$img_nueva_anchura,$img_nueva_altura,imagesx($img),imagesy($img));
 
// guardar la imagen redimensionada donde indica $img_nueva
ImageJPEG($thumb,$img_nueva,$img_nueva_calidad);



include 
'conexion.php';
$noticias=$_POST['noticias'];
$articulo='0018';
$destino 'img_art/'
conectar();
//-------REDIMENSIONAR IMAGEN Nº 1------
//tipo_archivo= a la extension del archivo en nuestro caso solo aceptamos imagenes (jpg, gif y png)
        
$tamano_archivo1 $_FILES['1']['size']; 
        
$tipo_archivo1 $_FILES['1']['type']; 
//compruebo si las características del archivo son las que deseo 
        
if (!( (strpos($tipo_archivo1"jpeg")) && ($tamano_archivo1 2000000) && $_FILES['1']['name']!='')) { 
echo 
"<br>La extensión o el tamaño de los archivos no es correcta. <br><br><table><tr><td><li>Se permiten archivos .gif o .jpg<br><li>se permiten archivos de 2 Mb máximo.</td></tr></table>"
}
else

        
$f1=$articulo.'_1.jpg';
        
$foto_1=$destino.$f1;
        
$dirp="img_art/miniaturas/"//aqui estaran las miniaturas
        
$foto_1m=$dirp;
        if(
move_uploaded_file($_FILES['1']['tmp_name'], $destino 'temp-' $f1)){
        
        
redimensionar_jpeg('temp-'.$destino.$f1,$destino.$f1,352,240,75);  
        
unlink('temp-'.$destino.$f1);
        
redimensionar_jpeg($destino.$f1,$foto_1m.$f1,150,113,75);
}
else{ 
       echo 
"Ocurrió algún error al subir el fichero 1. No pudo guardarse."
    } 

Por favor si pueden revisenlo y diganme en q estoy mal....!

gracias!
  #7 (permalink)  
Antiguo 28/03/2007, 20:33
Avatar de gerson  
Fecha de Ingreso: febrero-2005
Ubicación: Lima
Mensajes: 481
Antigüedad: 19 años, 2 meses
Puntos: 4
Re: No FUNCIONA - redimensionar imagen y hacer miniatura

Bueno acabo de ver el error:
Código PHP:
[IMG]file:///C:/DOCUME%7E1/data/CONFIG%7E1/Temp/moz-screenshot.jpg[/IMG][IMG]file:///C:/DOCUME%7E1/data/CONFIG%7E1/Temp/moz-screenshot-1.jpg[/IMG]//-----FUNCION REDIMENSIONAR------------ 
function redimensionar_jpeg($img_original$img_nueva$img_nueva_anchura$img_nueva_altura$img_nueva_calidad) { 
  
// crear imagen desde original 
$img ImageCreateFromJPEG($img_original); 
  
// crear imagen nueva 
$thumb imagecreatetruecolor($img_nueva_anchura,$img_nueva_altura); 
  
// redimensionar imagen original copiandola en la imagen 
imagecopyresampled ($thumb,$img,0,0,0,0,$img_nueva_anchura,$img_nueva_altura,imagesx($img),imagesy($img)); 
  
// guardar la imagen redimensionada donde indica $img_nueva 
ImageJPEG($thumb,$img_nueva,$img_nueva_calidad); 
}  


include 
'conexion.php'
$noticias=$_POST['noticias']; 
$articulo='0018'
$destino 'img_art/';  
conectar(); 
//-------REDIMENSIONAR IMAGEN Nº 1------ 
//tipo_archivo= a la extension del archivo en nuestro caso solo aceptamos imagenes (jpg, gif y png) 
        
$tamano_archivo1 $_FILES['1']['size'];  
        
$tipo_archivo1 $_FILES['1']['type'];  
//compruebo si las características del archivo son las que deseo  
        
if (!( (strpos($tipo_archivo1"jpeg")) && ($tamano_archivo1 2000000) && $_FILES['1']['name']!='')) {  
echo 
"<br>La extensión o el tamaño de los archivos no es correcta. <br><br><table><tr><td><li>Se permiten archivos .gif o .jpg<br><li>se permiten archivos de 2 Mb máximo.</td></tr></table>";  

else 
{  
        
$f1=$articulo.'_1.jpg'
        
$foto_1=$destino.$f1
        
$dirp="img_art/miniaturas/"//aqui estaran las miniaturas 
        
$foto_1m=$dirp
        if(
move_uploaded_file($_FILES['1']['tmp_name'], $destino 'temp-' $f1)){ 
         
        
redimensionar_jpeg($destino.'temp-'.$f1,$destino.$f1,352,240,75);   
        
unlink($destino.'temp-'.$f1); 
        
redimensionar_jpeg($destino.$f1,$foto_1m.$f1,150,113,75); 

else{  
       echo 
"Ocurrió algún error al subir el fichero 1. No pudo guardarse.";  
    }  

Creo q ahora si funciona.

Saludos
__________________

  #8 (permalink)  
Antiguo 28/03/2007, 21:06
 
Fecha de Ingreso: enero-2007
Mensajes: 49
Antigüedad: 17 años, 2 meses
Puntos: 0
Re: No FUNCIONA - redimensionar imagen y hacer miniatura

Gracias Brother... aunque realmente no vi el error jajajaja...!! pero me funciono :P
  #9 (permalink)  
Antiguo 05/07/2007, 11:55
 
Fecha de Ingreso: diciembre-2002
Mensajes: 473
Antigüedad: 21 años, 4 meses
Puntos: 0
Re: No FUNCIONA - redimensionar imagen y hacer miniatura

perdon, pero eso serviria para gif y png tambien? saludos
  #10 (permalink)  
Antiguo 05/07/2007, 12:17
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Re: No FUNCIONA - redimensionar imagen y hacer miniatura

No creo ya que la funcion solo usa imagecreatefromjpeg. Tendrias que implementar el codigo y que leyera que tipo de imagen es para aplicar la funcion especifica para ese tipo de archivo.

Saludos.
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 00:51.