Foros del Web » Programando para Internet » PHP »

Necesito ayuda en una redimension

Estas en el tema de Necesito ayuda en una redimension en el foro de PHP en Foros del Web. Tengo este codio que lo quiero utilizar para redimensionar una imagen de flash, y me la redimensiona bien pero al mismo tiempo me esta creando ...
  #1 (permalink)  
Antiguo 12/10/2008, 05:58
 
Fecha de Ingreso: julio-2008
Mensajes: 37
Antigüedad: 15 años, 10 meses
Puntos: 0
Necesito ayuda en una redimension

Tengo este codio que lo quiero utilizar para redimensionar una imagen de flash, y me la redimensiona bien pero al mismo tiempo me esta creando una imagen toda negro con otro nombre aleatorio distinto a la imagen destino.
Alguien me puede decir el porqué?

Código PHP:
<?php
$directorio 
'../temp/';
$files $directorio .$_FILES['Filedata']['name'];
move_uploaded_file($_FILES['Filedata']['tmp_name'], $files);
$nom substr(md5(uniqid(rand())),0,6);
CrearFoto($_FILES['Filedata']['name'], 200200$nom);
function 
CrearFoto($file$ancho$alto$nom){
 
$img imagecreatefromjpeg("../temp/".$file);
 
$imagen imagecreatetruecolor($ancho$alto);
 
imagecopyresized($imagen$img0000$ancho$altoImageSX($img), ImageSY($img));
 
 
imagejpeg($imagen"../fotos/".$nom.".jpg"100); 
}
unlink($files);
?>
  #2 (permalink)  
Antiguo 12/10/2008, 09:17
Avatar de geq
geq
 
Fecha de Ingreso: agosto-2006
Ubicación: Rosario
Mensajes: 655
Antigüedad: 17 años, 8 meses
Puntos: 22
Respuesta: Necesito ayuda en una redimension

La imagen con nombre aleatorio se explica en esta línea:
Código PHP:
$nom substr(md5(uniqid(rand())),0,6); 
¿La imagen queda bien subida? ¿Es jpeg?...

Si quedó negra la imagen con nombre aleatorio es porque no se ha copiado nada dentro de ella. Dejame que voy a probarlo y compararlo con un código que tengo yo y en un rato te digo si encuentro algo.

Otra coas, podés usar imagecopyresampled() te va a quedar mucho mejor porque esta funcion suaviza la imagen al cambiarle el tamaño.

Saludos.
  #3 (permalink)  
Antiguo 12/10/2008, 09:24
 
Fecha de Ingreso: julio-2008
Mensajes: 37
Antigüedad: 15 años, 10 meses
Puntos: 0
Respuesta: Necesito ayuda en una redimension

Gracias por contestar.


Si la imagen es jpg, y me la redimensiona bien, pero me crea al mismo tiempo otra imagen con otro nombre aleatorio todo negro, si solo pasa una vez, la pregunta es porque me crea dos imagenes, una buena y otra en negro con otro nombre aleatorio.
  #4 (permalink)  
Antiguo 12/10/2008, 09:36
Avatar de geq
geq
 
Fecha de Ingreso: agosto-2006
Ubicación: Rosario
Mensajes: 655
Antigüedad: 17 años, 8 meses
Puntos: 22
Respuesta: Necesito ayuda en una redimension

Efectivamente, la imagen con nombre aleatorio es la imagen final, la redimensionada.
Está en negro porque no puede copiar la imagen original dentro de ella, y negro es el color de fondo... Nada más.

Probá esto: Sacá el unlink() del final. Puede ser que borre la imagen original antes de que termine el proceso. Tené en cuenta que al ser una función lo que pusiste ahí en el medio, no se ejecuta en forma lineal, como si fuera todo el mismo código.

Yo recién probé tu código, sacando el unlink() y funcionó.

De última podrías hacer un script que periódicamente borre las imagenes antiguas de /temp/.

Saludos.
  #5 (permalink)  
Antiguo 12/10/2008, 09:52
 
Fecha de Ingreso: julio-2008
Mensajes: 37
Antigüedad: 15 años, 10 meses
Puntos: 0
Respuesta: Necesito ayuda en una redimension

Saqué el unlink y nada me sigue haciendo lo mismo. Lo unico nuevo es que no me borra el temporal, pero en la carpeta fotos me sigue creando los dos jpg uno negro y otro bueno con nombres aleatorios diferentes.
  #6 (permalink)  
Antiguo 12/10/2008, 09:56
Avatar de geq
geq
 
Fecha de Ingreso: agosto-2006
Ubicación: Rosario
Mensajes: 655
Antigüedad: 17 años, 8 meses
Puntos: 22
Respuesta: Necesito ayuda en una redimension

¿Ese es todo tu script o hay algo más de código?
  #7 (permalink)  
Antiguo 12/10/2008, 10:01
 
Fecha de Ingreso: julio-2008
Mensajes: 37
Antigüedad: 15 años, 10 meses
Puntos: 0
Respuesta: Necesito ayuda en una redimension

Eso es todo el codigo.
  #8 (permalink)  
Antiguo 12/10/2008, 10:09
 
Fecha de Ingreso: julio-2008
Mensajes: 37
Antigüedad: 15 años, 10 meses
Puntos: 0
Respuesta: Necesito ayuda en una redimension

Si le quito
Código PHP:
substr(md5(uniqid(rand())),0,6); 
funciona perfectamente dejando el mismo nombre de la imagen de origen, pero al ponerle esa instruccion me da el problema
  #9 (permalink)  
Antiguo 12/10/2008, 10:10
Avatar de geq
geq
 
Fecha de Ingreso: agosto-2006
Ubicación: Rosario
Mensajes: 655
Antigüedad: 17 años, 8 meses
Puntos: 22
Respuesta: Necesito ayuda en una redimension

No debería hacer eso. A parte de que yo lo estoy probando tal cual lo publicaste y me funciona perfecto.

¿Errores? ¿No te dice nada, solo una página en blanco?
¿Por qué no posteás el html del formulario también?

Saludos.
  #10 (permalink)  
Antiguo 12/10/2008, 10:17
Avatar de geq
geq
 
Fecha de Ingreso: agosto-2006
Ubicación: Rosario
Mensajes: 655
Antigüedad: 17 años, 8 meses
Puntos: 22
Respuesta: Necesito ayuda en una redimension

Y si probás otro método para un nombre aleatorio:
Código PHP:
$nom=substr(md5(time()),0,6); 
Igual no encuentro la relación... Antes de imagejpg() imprimí $nom a ver qué dice.

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 03:09.