Ver Mensaje Individual
  #20 (permalink)  
Antiguo 13/08/2015, 17:02
Avatar de pateketrueke
pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años, 1 mes
Puntos: 2534
Respuesta: Recuperar valor con THIS->

Cita:
la solución fue declarar la variable como global para poderla usar fuera de la función que puse
Pues esa no es una "solución", es una hack horrible y poco confiable.

De hecho, y según te expresas se nota que no sabes usar funciones: y precisamente ese es su objetivo, si necesitas capturar un valor que está dentro de la función debes usar return.

Y entonces, fuera de la función (donde la invocas) es que asignas el valor de retorno, y a partir de ahí ya puedes usar dicho valor:

Código PHP:
Ver original
  1. function foo() {
  2.   return 'bar';
  3. }
  4.  
  5. $x = foo();
  6.  
  7. echo $x; // bar

Pero bueno, por más que uno se esforzó en orientarte creo que no quisiste entender y terminaste "corrigiendo" de muy mala gana.

Así debiste dejar tu código:
Código PHP:
Ver original
  1. function process_files(){
  2.     // $_FILES ya es global, no hace falta pasarla como argumento
  3.  
  4.     $destination_path = "archivos/";
  5.    
  6.     $result = FALSE; // FALSE tiene más sentido que "0"
  7.  
  8.     echo $_FILES['tiquet']['name'];
  9.     $nombre_archivo = $_FILES['tiquet']['name'];
  10.     $ext = $_FILES['tiquet']['type'];
  11.     $tamano = $_FILES['tiquet']['size'];
  12.     $target_path = $destination_path . basename( $_FILES['tiquet']['name']);
  13.     if(@move_uploaded_file($_FILES['tiquet']['tmp_name'], $target_path)) {
  14.         $result = 1; // acá no sirve de nada el 1, ¿entonces para qué hacerlo?
  15.         $codigo_fecha = date("YmdHis");        
  16.         $no_aleatorio = rand(100, 999);
  17.         $codigo = $codigo_fecha.$no_aleatorio;
  18.                              
  19.         list($nombre, $ext) = explode(".", $nombre_archivo);
  20.         $nombre_actual = "$codigo"."."."$ext" ;
  21.         rename("archivos/$nombre_archivo","archivos/$nombre_actual");
  22.  
  23.         // "archivos/$nombre_actual" es el valor de retorno
  24.         $result = "archivos/$nombre_actual";
  25.     }
  26.         sleep(1);
  27.  
  28.         // OK, devolvemos todo
  29.         return $result;
  30. }
  31.  
  32. // invocamos la función
  33. $x =  process_files();
  34.  
  35. // $x es ahora el valor del return
  36.  
  37. // no era necesario hacer global $result
  38. // sólo debes aprender a leer el manual con calma
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.