Foros del Web » Programando para Internet » PHP »

PHP OO porque la funcion solamente es jecutada una sola vez y no cada vez que la llamo?

Estas en el tema de porque la funcion solamente es jecutada una sola vez y no cada vez que la llamo? en el foro de PHP en Foros del Web. Buenos dias amigos, Yo tengo un problemita aqui con la ejecucion de una funcion, supuestamente la funcion debe ejecutarse cada vez que se llama noh ...
  #1 (permalink)  
Antiguo 15/10/2011, 10:20
Avatar de saymon  
Fecha de Ingreso: septiembre-2003
Ubicación: Panama
Mensajes: 318
Antigüedad: 20 años, 7 meses
Puntos: 0
porque la funcion solamente es jecutada una sola vez y no cada vez que la llamo?

Buenos dias amigos,

Yo tengo un problemita aqui con la ejecucion de una funcion, supuestamente la funcion debe ejecutarse cada vez que se llama noh ? bueno, yo tengo el siguiete codigo:

Código PHP:
if (isset($_POST["flash_uploader_2_tmpname"])){ 
                 
mysql_query("UPDATE productos SET foto1='".$_POST["flash_uploader_0_tmpname"]."', foto2='".$_POST["flash_uploader_1_tmpname"]."', foto3='".$_POST["flash_uploader_2_tmpname"]."' WHERE id=".$ultimoID."");
                
createthumb($pathServer."fotosArticulos/".$_POST["flash_uploader_0_tmpname"],$pathServer."fotosArticulosThumbs/".$_POST["flash_uploader_0_tmpname"],$new_w);
                
createthumb($pathServer."fotosArticulos/".$_POST["flash_uploader_1_tmpname"],$pathServer."fotosArticulosThumbs/".$_POST["flash_uploader_1_tmpname"],$new_w);
                
createthumb($pathServer."fotosArticulos/".$_POST["flash_uploader_2_tmpname"],$pathServer."fotosArticulosThumbs/".$_POST["flash_uploader_2_tmpname"],$new_w);
                    } 

Cuando esta condicion es cierta, debe actualizar la base de datos, lo cual hace correctamente, y despues debe llamar la funcion createthumb() tres veces, esta funcion lo que hace es que me crea 3 thumbnails, pero cuando corre solamente me crea el primer thumbnail y no los tres, tampoco me manda ningun tipo de error.
Parece ser que la funcion solamente es ejecutada la primera vez que la llamo y no en las otras dos veces.... hay algun tipo de restriccion para hacer esto que estoy haciendo ?

Tambin intente de este modo con un loop, pero el resultado es el mismo, tambien me llama la funcion solamente la primera vez.

Código PHP:
if (isset($_POST["flash_uploader_1_tmpname"])){
             
mysql_query("UPDATE productos SET foto1='".$_POST["flash_uploader_0_tmpname"]."', foto2='".$_POST["flash_uploader_1_tmpname"]."' WHERE id=".$ultimoID."");
            
            for (
$i 0$i <= 1$i++) {
                
createthumb($pathServer."fotosArticulos/".$_POST["flash_uploader_".$i."_tmpname"],$pathServer."fotosArticulosThumbs/".$_POST["flash_uploader_".$i."_tmpname"],$new_w);
            }

                } 
Agracesco cualquier ayuda de antemanos,
saludos
  #2 (permalink)  
Antiguo 15/10/2011, 10:28
 
Fecha de Ingreso: septiembre-2008
Mensajes: 35
Antigüedad: 15 años, 6 meses
Puntos: 6
Respuesta: porque la funcion solamente es jecutada una sola vez y no cada vez que la

¿Qué hace la función createthumb? Código, por favor.
  #3 (permalink)  
Antiguo 15/10/2011, 10:34
Avatar de saymon  
Fecha de Ingreso: septiembre-2003
Ubicación: Panama
Mensajes: 318
Antigüedad: 20 años, 7 meses
Puntos: 0
Respuesta: porque la funcion solamente es jecutada una sola vez y no cada vez que la

Me crea un thumbnail, coloco aqui el contenido:


Código PHP:
 function createthumb($name,$filename,$new_w)
  {
          
$type 0;
          
$size getimagesize($name);
          
$mime $size['mime'];                    //get image mime type (ex. "image/jpeg" or "image/gif")
          
$system=explode("/",$mime);
          if (
preg_match("/jpg|jpeg/i",$system[sizeof($system)-1])) {$type=1$src_img=imagecreatefromjpeg($name);}
          if (
preg_match("/png/i",$system[sizeof($system)-1]))      {$type=2$src_img=imagecreatefrompng($name);}
          if (
preg_match("/gif/i",$system[sizeof($system)-1]))      {$type=3$src_img=imagecreatefromgif($name);}
          
$old_x=imageSX($src_img);
          
$old_y=imageSY($src_img);
   
          
$thumb_w=$new_w;
          
$thumb_h=($old_y*$new_w)/$old_x;
          
          
$dst_imgimagecreatetruecolor($thumb_w,$thumb_h);          //create new image "canvas"       
          
imagecopyresampled($dst_img,$src_img,0,0,0,0,$thumb_w,$thumb_h,$old_x,$old_y);
          if      (
$type == 3)  imagegif($dst_img,$filename); 
          else if (
$type == 2)  imagepng($dst_img,$filename); 
          else                  
imagejpeg($dst_img,$filename); 
          
imagedestroy($dst_img); 
          
imagedestroy($src_img); 
  } 
  #4 (permalink)  
Antiguo 16/10/2011, 00:59
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: porque la funcion solamente es jecutada una sola vez y no cada vez que la

Y ya revisaste lo que estas recibiendo en $_POST?, digo, una cosa es que NO se ejecute createthumb y otra que no genere la imagen porque no esta recibiendo un valor adecuado.

Seria interesante saber como queda el registro actualizado.
__________________
- León, Guanajuato
- GV-Foto
  #5 (permalink)  
Antiguo 17/10/2011, 07:57
Avatar de saymon  
Fecha de Ingreso: septiembre-2003
Ubicación: Panama
Mensajes: 318
Antigüedad: 20 años, 7 meses
Puntos: 0
Respuesta: porque la funcion solamente es jecutada una sola vez y no cada vez que la

Hola y gracias por las respuestas, la verdad es que no es estaba ajecuntando, pero era por un error externo a este codigo que ya solucioné, muchas gracias por sus asistencia, como siempre forosdelweb es lo maximo!

Etiquetas: funcion, mysql, solamente, vez
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 07:09.