Foros del Web » Programando para Internet » PHP »

reenvio de variables globales

Estas en el tema de reenvio de variables globales en el foro de PHP en Foros del Web. Hola muy buenas a todos, soy nuevo en el foro pero ya me habeis ayudado un monton, por esto os doy muchas grachias 8=). Mi ...
  #1 (permalink)  
Antiguo 29/04/2004, 03:57
Avatar de chuscazo  
Fecha de Ingreso: abril-2004
Mensajes: 84
Antigüedad: 13 años, 7 meses
Puntos: 0
reenvio de variables globales

Hola muy buenas a todos, soy nuevo en el foro pero ya me habeis ayudado un monton, por esto os doy muchas grachias 8=).
Mi problema: Hago un upload con la funcion move_uploaded_file pero antes e de comprobar si el fichero ya existia. Como cuando subo un archivo lo registro en una BBDD hago una consulta y se si esta o no esta. Si el fichero existe y tengo y el usuario elige sustituir tengo que reenviar el campo del form de type=file que ya he recibido de un formulario anterior. Como es de un tipo un poco especial no se puede reenviar como hidden (por lo menos yo no lo hago funcionar) e intentado tambien poner en un hidden las variables globales $_POST y/o $_FILES. Tambien he intentado poner un campo file con nombre igual al anterior y el valor del anterior por defecto, pero creo que file no admite el atributo
value.
Evito poner codigo por que lo he cambiado mil veces para las diferentes pruebas que he echo. Pero si alguien lo quiere ver, por lo que sea, que lo pida. muchas gracias X todo.
  #2 (permalink)  
Antiguo 29/04/2004, 04:29
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 15 años, 5 meses
Puntos: 16
Hola,

La primera vez que lo sube, muevelo a un directorio especial donde espere la confirmacion. Segun el resultado de la confirmacion, lo mueves al directorio final o lo eliminas.

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #3 (permalink)  
Antiguo 29/04/2004, 05:00
Avatar de chuscazo  
Fecha de Ingreso: abril-2004
Mensajes: 84
Antigüedad: 13 años, 7 meses
Puntos: 0
Muchas gracias por la pronta respuesta.
Tengo una pequeña duda, lo que me propones es: subirlo temporalmente y si se sobreescribe hacer un shell_exec(mv ... ...) , ¿no?. La funcion move_uploaded_file solo acepta archivos recibidos por HTTP POST. Entonces me parece que lo que tendria que hacer seria el exec, ¿verdad?

Una cosa que me gustaria saber es si se pueden reenviar variables globales.

Muchos abrazos.
  #4 (permalink)  
Antiguo 29/04/2004, 05:09
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 15 años, 5 meses
Puntos: 16
www.php.net/copy

Y sobre reenviar variables globales, en este caso ese no es el problema. En tu caso tu no querias reenviar un dato, tu lo que querias era subir un fichero cualquiera del disco duro del usuario sin notificarselo al usuario.

HTTP es un protocolo sin memoria, asi que no hay "reenvio". Lo que tendrias seria que generar un HTML/javascript que enviase otra vez los mismo datos (campos ocultos de un formulario). Y en este caso esos datos seria el contenido de un fichero del disco duro del cliente. Y si podrias subir un fichero del disco duro del cliente sabiendo solo la ruta, sin intervencion del usuario, ¿no crees que los del eje del mal lo usarian para coger ficheros con informacion sensible?

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #5 (permalink)  
Antiguo 29/04/2004, 06:45
Avatar de chuscazo  
Fecha de Ingreso: abril-2004
Mensajes: 84
Antigüedad: 13 años, 7 meses
Puntos: 0
Ya ta ya lo tengo. gracias

Al final tuve que hacer un exec para eliminar el temporal ya que si lo metia en /tmp tenia que esperar al reinicio del servidor para liberar ese espacio.
Me parece que no me entendiste bien con lo de las variables globales, o yo no te entiendo a ti (que es muy probable). Ya intente reenviar las variables globales $_POST y $FILE con campos ocultos y en PHP. Pero no las reenviaba correctamente o por lo menos yo no lo hacia funcionar, la linea era asi + o -
<?php
echo "<input type=hidden name='_POST' value='$_POST'>
<input type=hidden name='_FILE' value='$_FILE'>"
?>

Tambien probe enviando el array $_FILES['userfile'] que contiene los indices (name,temp_name,size,...) y todo lo que necesitaba. Pero tampoco funciono.

Pero ahora si funciona jajaja
Muchas gracias Josemi y demas personas que ayudan altruistamente. Gracias
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 20:15.