Foros del Web » Programando para Internet » PHP »

Obtener variable de dentro de un if

Estas en el tema de Obtener variable de dentro de un if en el foro de PHP en Foros del Web. Hola, Como veréis son las 4 de la mañana (hora Española) y no doy con la tecla. Explico por encima: Uso una clase para redimensionar ...
  #1 (permalink)  
Antiguo 22/04/2012, 20:16
Avatar de JaimeMSE  
Fecha de Ingreso: diciembre-2010
Ubicación: Isla Cristina (Huelva)
Mensajes: 164
Antigüedad: 13 años, 4 meses
Puntos: 7
Obtener variable de dentro de un if

Hola,

Como veréis son las 4 de la mañana (hora Española) y no doy con la tecla.
Explico por encima:

Uso una clase para redimensionar una imagen. La cosa es:

Se rellena el formulario que tiene campos + un input="file".

Se insertan todos los datos en la base de datos INCLUIDO el nombre final de la imagen.

La cosa es, que al estar el nombre dentro de un if de la clase, no se como recuperarlo fuera, ya que tiene números aleatorios.

Os dejo el código, a ver si me podéis aclarar un poco. (Aviso, tengo el código un poco guarro, estoy de pruebas xD)

Código PHP:
Ver original
  1. if(!empty($_FILES['image']) && $_FILES['image']['error'] == UPLOAD_ERR_OK) {
  2.                             require_once 'redimg.php';
  3.                             $extension=explode(".",$_FILES['image']['name']);
  4.                             $extension=$extension[count($extension)-1];
  5.                             $image = new ModifiedImage($_FILES['image']['tmp_name']);
  6.  
  7.                             $aleatorio1 = rand(1, 999);
  8.                             $aleatorio2 = rand(100, 9999);
  9.                            
  10.                             if($image->getWidth() > 400){
  11.                                 $image->resizeToWidth(400);
  12.                                 $w400 = "img_" .$aleatorio1.$aleatorio2.".".strtolower($extension); // Éste es el valor que necesito.
  13.                                 $image->save("../imagenes/animales/".$w400);
  14.                             } //if image->getwidth
  15. } //if !empty image
  16.                 $query = sprintf("INSERT INTO animales (visible,nombre,microchip,mostrarmicrochip,tipo,sexo,raza,tamano,lugar,urgente,casoespecial,enelcielo,altura,fechanacimiento,fechaingreso,estado,video,historia,vacunas,pastillas,analiticas,operaciones,imagenprincipal)
  17.                     VALUES ('$visible','$nombre','$microchip','$mostrarmicrochip','$tipo','$sexo','$raza','$tamano','$lugar','$urgente','$casoespecial','$enelcielo','$altura','$fechanacimiento','$fechaingreso','$estado','$video','$historia','$vacunas','$pastillas','$analiticas','$operaciones','$w400')");
  18.  
  19.                                 $result = mysql_query($query,$conexion) or die(mysql_error());
  20.                          if($image->getWidth() > 400){
  21.                                 $image->resizeToWidth(400);
  22.                                
  23.                                 $image->save("../imagenes/animales/".$w400);
  24.                             } //if image->getwidth
  25. } //if else !error      
  26.                
  27.             if(!$result) {
  28.                     echo "No se ha introducido los datos en la DB";
  29.                 }
  30.                
  31.                 else {
  32.                     echo '<h1>Animal insertado correctamente.</h1><br/><br/><p>Si quieres agregar otro animal pulsa <a href="/administracion/animales.php?accion=agregar">aqu&iacute;</a>.';
  33.                 }

Muchas gracias.
__________________
@JaimeMSE - ¡Sígueme!
  #2 (permalink)  
Antiguo 22/04/2012, 22:41
Avatar de YYs86  
Fecha de Ingreso: abril-2012
Ubicación: Salamanca
Mensajes: 136
Antigüedad: 12 años
Puntos: 14
Respuesta: Obtener variable de dentro de un if

No lo pillo muy bien lo que quieres hacer.
¿Quieres mandar el valor nuevo de tu imagen (el aleatorio) a donde?

Y otra pregunta así tonta, ¿Por qué tienes 2
Código PHP:
Ver original
  1. if($image->getWidth() > 400){
?

PD: 6:30 am, ducha y a currar :D
__________________
Web developer:

http://xtremgaming.es
http://leaderleague.com
  #3 (permalink)  
Antiguo 22/04/2012, 23:14
Avatar de Nemutagk
Colaborador
 
Fecha de Ingreso: marzo-2004
Ubicación: México
Mensajes: 2.633
Antigüedad: 20 años, 1 mes
Puntos: 406
Respuesta: Obtener variable de dentro de un if

¬¬ y para que tienes la variable $w400 dentro del if? no es necesario que este hay, generala afuera del if
__________________
Listo?, tendría que tener 60 puntos menos de IQ para considerarme listo!!!
-- Sheldon Cooper
http://twitter.com/nemutagk
PD: No contestaré temas vía mensaje personal =)
  #4 (permalink)  
Antiguo 23/04/2012, 03:17
Avatar de oscartt67  
Fecha de Ingreso: abril-2012
Ubicación: fonollosa
Mensajes: 481
Antigüedad: 12 años
Puntos: 97
Respuesta: Obtener variable de dentro de un if

Si esta dentro de una clase, define al principio de esta
Var $w400;

Y luego, cuando le asignes valor utiliza $this->w400=lo que sea.

Una vez fuera de la clase, si esta se llama $miclase, la obtendras con $miclase->w400.

Era eso?
  #5 (permalink)  
Antiguo 23/04/2012, 05:58
Avatar de JaimeMSE  
Fecha de Ingreso: diciembre-2010
Ubicación: Isla Cristina (Huelva)
Mensajes: 164
Antigüedad: 13 años, 4 meses
Puntos: 7
Respuesta: Obtener variable de dentro de un if

Cita:
Iniciado por YYs86 Ver Mensaje
No lo pillo muy bien lo que quieres hacer.
¿Quieres mandar el valor nuevo de tu imagen (el aleatorio) a donde?

Y otra pregunta así tonta, ¿Por qué tienes 2
Código PHP:
Ver original
  1. if($image->getWidth() > 400){
?

PD: 6:30 am, ducha y a currar :D
Los dos IF es un fallo de copia-pega, en el original no lo tengo así, no sé por qué aparece ahí así xD.

Lo que quiero hacer es:

Subo la imagen -> la clase la redimensiona y le pone el nombre "img_númeroaleatorio1númeroaleatorio2.extensio n" -> se agrega el nombre de la imagen final en un campo de la base de datos.

Cita:
Iniciado por Nemutagk Ver Mensaje
¬¬ y para que tienes la variable $w400 dentro del if? no es necesario que este hay, generala afuera del if
Si pongo la variable w400 fuera del if no me reconoce la imagen, he borrado el if(!empty($_FILES['image']) && $_FILES['image']['error'] == UPLOAD_ERR_OK) y sigue sin cogérmela.

Cita:
Iniciado por oscartt67 Ver Mensaje
Si esta dentro de una clase, define al principio de esta
Var $w400;

Y luego, cuando le asignes valor utiliza $this->w400=lo que sea.

Una vez fuera de la clase, si esta se llama $miclase, la obtendras con $miclase->w400.

Era eso?
Con esto quieres decir que.
En la misma clase le ponga el nombre, ¿cierto? Y luego lo llame como $clase->nombreimagen; por ejemplo.

Gracias por responder.
__________________
@JaimeMSE - ¡Sígueme!
  #6 (permalink)  
Antiguo 23/04/2012, 07:32
Avatar de oscartt67  
Fecha de Ingreso: abril-2012
Ubicación: fonollosa
Mensajes: 481
Antigüedad: 12 años
Puntos: 97
Respuesta: Obtener variable de dentro de un if

Eso mismo.
Saludos.

Etiquetas: formulario, mysql, sql, variables
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:04.