Foros del Web » Programando para Internet » PHP »

no entiendo ...

Estas en el tema de no entiendo ... en el foro de PHP en Foros del Web. tengo register_globals= ON y PHP 4.3.6 $_GET['var'] funciona, sin embargo $HTTP_POST_FILES['userfile']['name'] tiene un resultado distinto de $_FILES['userfile']['name'] . La primera si me devuelve el nombre ...
  #1 (permalink)  
Antiguo 02/08/2004, 13:23
 
Fecha de Ingreso: julio-2003
Mensajes: 141
Antigüedad: 20 años, 8 meses
Puntos: 5
no entiendo ...

tengo register_globals= ON y PHP 4.3.6

$_GET['var'] funciona, sin embargo
$HTTP_POST_FILES['userfile']['name'] tiene un resultado distinto de
$_FILES['userfile']['name']. La primera si me devuelve el nombre del fichero introducido por el usuario en el formulario, y la segunda hace falsa la llamada a is_uploaded_file, o sea que no imprime nada por pantalla.

¿a que se debe?
  #2 (permalink)  
Antiguo 02/08/2004, 16:22
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 2 meses
Puntos: 129
Se supone que deberías obtener el mismo valor en ambos arrays y hasta como global:
$userfile_name usando register_globals a ON

La versión que usas de PHP no está disponible la directiva:
register_long_arrays .. que por defecto vieen en PHP 5 a OFF y hace que no queden disponibles los arrays $HTTP_??_VARS (no son creados) para que de una vez por todas se usen los arrays superglobales: $_GET, $_POST .. etc

Las otras directivas como:
track_vars ya se vé que lo usas a ON ..por qué sino no podrías ni ver $_GET (usar los arrays supergloables) que por defecto viene PHP en todas sus versiones a ON desde PHP 4.0.3 en adelante.

El otro detalle es que pretendas acceder a $HTTP_POST_FILES desde una función .. ese tipo de arrays no son globales como lo son los $_FILES (los arrays "superglobales" que .. por eso se llaman así, por que el ambito de acceso no está restringido en un script ni en funciones .. no hay que declararlo como "global $HTTP_xxxx_xxxx" como sucede con ese tipo de arrays).

más info:
http://us2.php.net/manual/en/configu...directives.php

Un saludo,
  #3 (permalink)  
Antiguo 03/08/2004, 03:21
 
Fecha de Ingreso: julio-2003
Mensajes: 141
Antigüedad: 20 años, 8 meses
Puntos: 5
No acabo de entender ...
Como bien dices, tengo register_globals = ON, track_vars enabled.

$HTTP_POST_FILES['userfile']['name'] -> si me devuelve el nombre del fichero introducido por el susuario.
$_FILES['userfile']['name'] -> no me devuelve el nombre del fichero introducido por el usuario.

si se supone que deberia obtener el mismo resultado en ambos, ¿porque no lo obtengo?
yo procuro siempre emlear los arrays superglobales ($_GET, $_POST, ...) pero ahora trataba de emplear $_FILES en lugar de $HTTP_POST_FILES, y no he podido por el motivo que te comentaba, me ha tocado quedarme con $HTTP_POST_FILES.

El enlace que me facilitas, no funciona y he ojeado este, y no me ha solucionado mucho ...
http://es.php.net/manual/es/ini.php

saludos !!
  #4 (permalink)  
Antiguo 03/08/2004, 07:48
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 2 meses
Puntos: 129
Pues no tengo explicación .. pero podrías ver que te devuelve el array completo:

Código PHP:
<?
echo '<pre>';
print_r($_FILES);
echo 
'</pre>';
?>
(y poner el código completo que usas ..)

Un saludo,
  #5 (permalink)  
Antiguo 03/08/2004, 08:35
 
Fecha de Ingreso: julio-2003
Mensajes: 141
Antigüedad: 20 años, 8 meses
Puntos: 5
salucionado !!

Habia un fallo tonto entre codigo, que provocaba que diera vacio $_FILES

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 08:06.