Foros del Web » Programando para Internet » PHP »

error en funcion y HTTP_POST_FILES...

Estas en el tema de error en funcion y HTTP_POST_FILES... en el foro de PHP en Foros del Web. Hola, estoy teniendo un problema al cargar con este código: Código PHP: <? function  subir (){      $foto = $HTTP_POST_FILES [ 'userfile' ][ 'name' ]; ...
  #1 (permalink)  
Antiguo 27/01/2005, 07:32
Avatar de Chichoauza  
Fecha de Ingreso: enero-2005
Mensajes: 106
Antigüedad: 12 años, 11 meses
Puntos: 0
error en funcion y HTTP_POST_FILES...

Hola, estoy teniendo un problema al cargar con este código:

Código PHP:
<?
function subir(){
    
$foto=$HTTP_POST_FILES['userfile']['name'];

    echo 
$foto;
    }

//aqui llamo a la funcion para ejecutarla...
subir();
?>
La variable $HTTP_POST_FILES['userfile']['name'];viene de un campo de archivo, pero el problema se me presenta es que no trae NINGUN VALOR, ya verifique que el formulario sea "multipart/form-data", perono pasa nada

el problema es la FUNCION, porque cuando saca el function subir(){ y el } del final, el Sript funciona bien.

ahora la pregunta del millon es, porque y/o a que se debe esto?

y claro, si se puede la posible solucion, eso si, es necesario que esto funcione por medi de una FUNCION

saludos.
  #2 (permalink)  
Antiguo 27/01/2005, 07:41
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 15 años, 5 meses
Puntos: 16
Hola,

$HTTP_POST_FILES no es un array superglobal, por lo que tiene un ambito normal com ocualquier variable (http://www.php.net/manual/en/languag...bles.scope.php).

La solucion seria usar el array superglobal equivalente: $_FILES

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #3 (permalink)  
Antiguo 27/01/2005, 07:55
Avatar de Chichoauza  
Fecha de Ingreso: enero-2005
Mensajes: 106
Antigüedad: 12 años, 11 meses
Puntos: 0
me querrias mostrar un ejemplo???

ya me leí lo que me diste y
http://www.php.net/manual/es/reserve...ariables.files

pero no logro hacer el ECHO;

Muchas gracias por tu respuesta
  #4 (permalink)  
Antiguo 27/01/2005, 07:59
Avatar de Chichoauza  
Fecha de Ingreso: enero-2005
Mensajes: 106
Antigüedad: 12 años, 11 meses
Puntos: 0
No, no ya esta, me daba un error y era porque no le estaba poniendo el ; al final, jejeje, ¿¿acaso nunca le ha pasado??
  #5 (permalink)  
Antiguo 27/01/2005, 08:03
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Es lo mismo que usas . .pero en lugar de $HTTP_POST_FILES .. usar $_FILES .. son arrays .. sólo que una es "superglobal" y la otra no.

Código PHP:
<?
function subir(){ 
    
$foto=$_FILES['userfile']['name']; 

    echo 
$foto
    } 

//aqui llamo a la funcion para ejecutarla... 
subir(); 
?>
O bien .. si quieres seguir usando tus $HTTP_xxxx_xxxx como pretendes acceder a un valor de una varaibel que NO se definió en la función .. tendrás que pasarlo por párametro a la función .. o declararlo como global

Código PHP:
<?
function subir(){
    global 
$HTTP_POST_FILES
    
$foto=$HTTP_POST_FILES['userfile']['name']; 

    echo 
$foto
    } 

//aqui llamo a la funcion para ejecutarla... 
subir(); 
?>

Un saludo,
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 11:23.