Foros del Web » Programando para Internet » PHP »

Ventana emergente guardar un archivo

Estas en el tema de Ventana emergente guardar un archivo en el foro de PHP en Foros del Web. Hola: Querría realizar un formulario html donde exista el típico botón guardar archivo como, que permita elegir donde quiero guardar un archivo, que tendre guardado ...
  #1 (permalink)  
Antiguo 18/04/2009, 12:07
 
Fecha de Ingreso: marzo-2009
Mensajes: 48
Antigüedad: 15 años, 8 meses
Puntos: 0
Ventana emergente guardar un archivo

Hola:
Querría realizar un formulario html donde exista el típico botón guardar archivo como, que permita elegir donde quiero guardar un archivo, que tendre guardado en un base de datos.
Es decir que cree el un archivo donde guardare despues la informacion contenida en la base de datos.
He hecho algo parecido pero es para cargar y se utiliza el input type text.
Una vez echo esto, como se haría para guardar dentro del archivo el contenido de una variable, es decir, el contenido de la base de datos lo cargaré en una variable de la forma $datos.
Como asigno estos $datos al archivo que crearé al pasar el fromulario
Gracias
  #2 (permalink)  
Antiguo 18/04/2009, 13:55
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 6 meses
Puntos: 2135
Respuesta: Ventana emergente guardar un archivo

Lee este tutorial: http://www.cristalab.com/tutoriales/...con-php-c166l/

Saludos.
  #3 (permalink)  
Antiguo 19/04/2009, 10:59
 
Fecha de Ingreso: marzo-2009
Mensajes: 48
Antigüedad: 15 años, 8 meses
Puntos: 0
Respuesta: Ventana emergente guardar un archivo

He visto lo que mas has dicho pero esto por lo que he entendido es para poder bajar un fichero que reside en el lado del servidor y guardarlo en el cliente.
Para que funcione es necesario que exista ese fichero en el lado del servidor pero lo que yo quiero hacer es enviar el contenido de una tabla en la que un campo de ellos es un fichero y que eso lo guardo en una variable y que salga la ventana de donde quiero guardar el fichero que se creará con el contenido de la variable.
Gracias.
  #4 (permalink)  
Antiguo 19/04/2009, 21:35
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 6 meses
Puntos: 2135
Respuesta: Ventana emergente guardar un archivo

Es el mismo procedimiento, al forzar la descarga imprimes en lugar del fichero el contenido de la variable, y con eso puedes descargar el archivo, prueba esto:
Código php:
Ver original
  1. <?php
  2.     header("Content-type: application/octet-stream");
  3.     header("Content-Disposition: attachment; filename=\"archivo.txt\"\n");
  4.  
  5.     echo "esto es el archivo que se \"genero\" dinamicamente en el server";
  6. ?>

Saludos.
  #5 (permalink)  
Antiguo 20/04/2009, 11:14
 
Fecha de Ingreso: marzo-2009
Mensajes: 48
Antigüedad: 15 años, 8 meses
Puntos: 0
Respuesta: Ventana emergente guardar un archivo

No me queda claro lo que me ahs puesto.
Donde esta la variable que contine la informcion y es guardada en le fichero ma s tarde.
Yo lo que hecho es crear un fichero, guardar dentro la variable y despues con lo que me pusiste la primera vez lo envio, pero yo queria saber si hay alguna forma de evitar el tener que crear un archivo al lado del servidor.
  #6 (permalink)  
Antiguo 21/04/2009, 10:03
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 6 meses
Puntos: 2135
Respuesta: Ventana emergente guardar un archivo

En el echo "el contenido" puedes hacer echo $variable, o lo que gustes.

Te recomiendo leas un libro básico de PHP para que veas como usar y asignar variables.

Saludos.
  #7 (permalink)  
Antiguo 21/04/2009, 10:51
 
Fecha de Ingreso: marzo-2009
Mensajes: 48
Antigüedad: 15 años, 8 meses
Puntos: 0
Respuesta: Ventana emergente guardar un archivo

Veamos, seguramente tengo que leer algun manual de php pero si se lo que son las variables y como asignar valores a ellas.
lo que yo quiero decir es esto.
Quiero que aparezca la típica ventana de guardar como, como la que me has puesto me vale, y que el usuario diga donde quiere guardar los datos a bajar.
Hasta aqui todo de acuerdo, es lo que hace lo que me has dejado.
Pero el problema es que, no se si estoy equivocado o no, el codigo este lo que hace es enviar al usuario un archivo que reside en el lado del servidor, pero yo lo que quiero es que al usuario le llegue la informacion de un fichero que esta guardado en la base de datos del servidor (en mysql) sin necesidad de volcar esa informacion dentro de un fichero en el lado del servidor. Vamos que en el lado del servidor no existe el fichero como tal solo reside en la base de datos.

Por ahora con lo que has facilitado lo que he echo es lo siguiente:
Guardar la informacion de la base de datos en un fichero y despues con el codigo de ese enlace enviarselo al usuario. Yo lo que quiero es saltarme el paso de guardar la informacion de la base de datos en un fichero.
Gracias.
  #8 (permalink)  
Antiguo 21/04/2009, 10:55
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años, 7 meses
Puntos: 839
Respuesta: Ventana emergente guardar un archivo

No, con el código que te pasó GatorV no necesitas que haya ningún archivo del lado del servidor, si te fijas, el contenido es generado con la salida (en el ejemplo que puso, con un echo)
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #9 (permalink)  
Antiguo 21/04/2009, 13:35
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 6 meses
Puntos: 2135
Respuesta: Ventana emergente guardar un archivo

Exacto supongamos que el contenido de tu "archivo" esta en una variable llamada $row['archivo'] esta es una variable con el contenido, no con la ruta del archivo, entonces solo haces esto:

Código php:
Ver original
  1. <?php
  2.     header("Content-type: application/octet-stream");
  3.     header("Content-Disposition: attachment; filename=\"archivo.txt\"\n");
  4.  
  5.     echo $row['archivo'];

Con eso se forza la descarga y bajas el archivo.

Saludos.
  #10 (permalink)  
Antiguo 22/04/2009, 04:33
 
Fecha de Ingreso: marzo-2009
Mensajes: 48
Antigüedad: 15 años, 8 meses
Puntos: 0
De acuerdo Respuesta: Ventana emergente guardar un archivo

Gracias, tenian razón, he echo esto último y ya me va.
El caso es que no sabía que el echo guardaba la informacion de la varibale en el fichero creado en el usaurio.
Es que siempre pense que el echo era simplemente para echar por pantalla cadenas.
  #11 (permalink)  
Antiguo 22/04/2009, 10:20
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 6 meses
Puntos: 2135
Respuesta: Ventana emergente guardar un archivo

Pues de hecho así es, tu al decirle con el header() el navegador lee las cabeceras y en lugar de abir un documento HTML abre un documento binario, con echo tu imprimes el resultado ya sea en el navegador o el documento pero eso ya es tarea del navegador.

Recuerda que PHP es un procesador de hypertexto, este procesa requests, e imprime el resultado (usando echo/print) por lo que PHP no se encarga de escribir nada en el usuario eso es tarea del navegador.

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 14:44.