Foros del Web » Programando para Internet » PHP »

no puedo subir archivos con register globals off

Estas en el tema de no puedo subir archivos con register globals off en el foro de PHP en Foros del Web. hola a todos... en un pequeño sistema de noticias que bajé de un sitio de scripts todo funcionaba muy bien, exepto que en el server ...
  #1 (permalink)  
Antiguo 01/07/2004, 00:34
 
Fecha de Ingreso: marzo-2004
Ubicación: Bariloche ARGENTINA
Mensajes: 36
Antigüedad: 20 años, 1 mes
Puntos: 1
Exclamación no puedo subir archivos con register globals off

hola a todos...

en un pequeño sistema de noticias que bajé de un sitio de scripts todo funcionaba muy bien, exepto que en el server donde tengo que instalarlo tiene REGISTER GLOBALS OFF...

he probado de todo pero inutilmente:
el script no sube imágenes ni tampocoo escribe el identificador de la imagen en la bd, aunque sí (luego de ponerles "extract($_GET);
extract($_POST,EXTR_SKIP);" a las páginas php) algunas variables se pasan...
he puesto por ejemplo " echo: "$imagen"; " en la página que hace el upload al servidor, para comprobar, pero ésta no recibe el valor aunque también he probado poniendo $_post[imagen]... etc para ver si la recibía...

no puedo conseguir de ningún modo que el script que hace el upload reciba los valores de la variable $imagen y $path_imagen....

alguien tiene alguna idea??? cómo podría solucionarlo???

hay alguna regla general para que los scripts programados para REG GLOBALS ON puedan hacerse funcionar bajo REG GLOBALS OFF????????????????????????????

muchas gracias por las respuestas
  #2 (permalink)  
Antiguo 01/07/2004, 00:40
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 21 años, 10 meses
Puntos: 16
Hola,

Si miras en http://www.php.net/manual/en/features.file-upload.php veras que los datos de los ficheros vienen en el array $_FILES. No creo que sea dificil crear una rutina que recorra ese array creando las variables.

Suerte.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #3 (permalink)  
Antiguo 01/07/2004, 18:52
 
Fecha de Ingreso: marzo-2004
Ubicación: Bariloche ARGENTINA
Mensajes: 36
Antigüedad: 20 años, 1 mes
Puntos: 1
quizás para vos no es dificil josemi porque sos el moderador y tenes muchiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiisima más experiencia que yo... jajaja!!!

pero creo haber hecho todo lo correcto, incluso especificando en el formulario: "method="post" enctype="multipart/form-data" " pero por alguna razón las variables no llegan al script que hace el upload!!!!!!!!!!!!!

y si yo lo pruebo en mi máquina (el la cual el php.ini tiene "register globals on") funciona bien y sube las fotos y escribe el id de imágen en la bd !!!

a alguien se le ocurre algo más que pueda ayudarme a descubrir el error????????????
  #4 (permalink)  
Antiguo 01/07/2004, 19:07
Avatar de jpinedo
Colaborador
 
Fecha de Ingreso: septiembre-2003
Ubicación: Lima, Perú
Mensajes: 3.120
Antigüedad: 20 años, 7 meses
Puntos: 41
Cita:
Iniciado por gonzita
el script no sube imágenes ni tampocoo escribe el identificador de la imagen en la bd, aunque sí (luego de ponerles "extract($_GET);
extract($_POST,EXTR_SKIP);" a las páginas php) algunas variables se pasan...
he puesto por ejemplo " echo: "$imagen"; " en la página que hace el upload al servidor, para comprobar, pero ésta no recibe el valor aunque también he probado poniendo $_post[imagen]... etc para ver si la recibía...
Seguramente estás inicializando esasa variables antes y con EXTR_SKIP, de encontrar una variable existente llamada $imagen, no la sobreescribirá.
Prueba poniendo
Código PHP:
extract($_GET,EXTR_OVERWRITE); 
extract($_POST,EXTR_OVERWRITE); 
... Y una curiosidad (que no puedo resolverme ahora..)... el case sensitive también vale para el $_POST???... digo... se puede utilizar $_post (en minúsculas) y apuntará al mismo array superglobal???

Saludos
  #5 (permalink)  
Antiguo 01/07/2004, 19:16
 
Fecha de Ingreso: marzo-2004
Ubicación: Bariloche ARGENTINA
Mensajes: 36
Antigüedad: 20 años, 1 mes
Puntos: 1
acabo de probar eso y no funcionó, gracias igual por tu respuesta jpinedo... ya no sé qué hacer
  #6 (permalink)  
Antiguo 01/07/2004, 19:25
Avatar de jpinedo
Colaborador
 
Fecha de Ingreso: septiembre-2003
Ubicación: Lima, Perú
Mensajes: 3.120
Antigüedad: 20 años, 7 meses
Puntos: 41
Bueno... de todos modos.. la regla para que funcionen los scripts con register globals en OFF es utilizar los arrays superglobales $_POST, $_GET, etc.

Saludos
  #7 (permalink)  
Antiguo 01/07/2004, 19:28
Avatar de jpinedo
Colaborador
 
Fecha de Ingreso: septiembre-2003
Ubicación: Lima, Perú
Mensajes: 3.120
Antigüedad: 20 años, 7 meses
Puntos: 41
Ahora que veo ... tú dices que probaste poniendo $_POST['imagen'] y tampoco la recibía??? (prueba con el POST en mayúsculas)... y si aún así no la recibe verifica el nombre de tus variables en el formulario. Recuerda el case-sensitive... no es lo mismo mayúsculas que minúsculas.

Saludos
  #8 (permalink)  
Antiguo 01/07/2004, 22:03
 
Fecha de Ingreso: marzo-2004
Ubicación: Bariloche ARGENTINA
Mensajes: 36
Antigüedad: 20 años, 1 mes
Puntos: 1
ME SALIÓOOOOOOOOOOOOOOOOOOOOOOOOOOOO ....
hice lo siguiente:
1) asegurarme que el array _file llegaba haciendo un bucle que me informaba si todo estaba ok:
foreach($_FILES as $value) {
foreach($value as $k => $v) {
echo $k.' => '.$v.'<br>';
}
}
que me daba algo como:
name => 7.jpg
type => image/pjpeg
tmp_name => C:\WINDOWS\php110.tmp
size => 2648

2) tomar esas variables como:
$_FILES['PATHARCHIVO']['name'], $_FILES['PATHARCHIVO']['tmp_name'], etc...
para luego hacer el "COPY"

2)
  #9 (permalink)  
Antiguo 01/07/2004, 22:07
 
Fecha de Ingreso: marzo-2004
Ubicación: Bariloche ARGENTINA
Mensajes: 36
Antigüedad: 20 años, 1 mes
Puntos: 1
ME SALIÓOOOOOOOOOOOOOOOOOOOOOOOOOOOO ....
hice lo siguiente:
1) asegurarme que el array _file llegaba haciendo un bucle que me informaba si todo estaba ok:
foreach($_FILES as $value) {
foreach($value as $k => $v) {
echo $k.' => '.$v.'<br>';
}
}
que me daba algo como:
name => 7.jpg
type => image/pjpeg
tmp_name => C:\WINDOWS\php110.tmp
size => 2648

2) tomar esas variables como:
$_FILES['PATHARCHIVO']['name'], $_FILES['PATHARCHIVO']['tmp_name'], etc...
para luego hacer el "COPY"
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 22:12.