¿Cómo puedo mostrar el cuadro de diálogo 'Guardar como' usando PHP que pedirá al usuario que descargue una cadena como archivo de texto? Básicamente, recuperaré algunos valores de la base de datos y deseo poder descargar un archivo .txt que contenga esta información.Cómo mostrar el cuadro de diálogo 'Guardar como' usando PHP para archivos de texto
Respuesta
Esto debería funcionar:
header('Content-type: text/plain');
header('Content-disposition: attachment; filename="test.txt"');
Sólo para ampliar sobre la respuesta de @Emil H:
El uso de esas llamadas de cabecera sólo funcionará en el contexto de una nueva solicitud. Tendrá que implementar algo que permita que su secuencia de comandos sepa cuándo se está enviando realmente el archivo en lugar de cuándo se muestra un formulario que le dice que descargue el archivo.
Para aclarar el uso de header():
header() se utiliza para enviar una cabecera HTTP prima. Consulte la especificación HTTP/1.1 para obtener más información sobre los encabezados HTTP.
Recuerde que se debe llamar al encabezado() antes de enviar cualquier salida real, ya sea mediante etiquetas HTML normales, líneas en blanco en un archivo o desde PHP. Es un error muy común leer código con include(), o require(), funciones u otra función de acceso a archivos, y tienen espacios o líneas vacías que se emiten antes de header(). El mismo problema existe cuando se usa un único archivo PHP/HTML.
Básicamente, está cambiando toda la página cuando usa el encabezado(). Asegúrese de que el único contenido que repite sea la cadena.
<?
header ("Content-Type: application/download");
header ("Content-Disposition: attachment; filename=$yourfile");
header("Content-Length: " . filesize("$yourfile"));
$fp = fopen("$yourfile", "r");
fpassthru($fp);
?>
- 1. Abrir el cuadro de diálogo "guardar como ..." desde: ex comando
- 2. Mostrar el cuadro de diálogo del selector de archivos
- 3. Cómo mostrar el icono apropiado en el cuadro de diálogo
- 4. Mostrar el teclado virtual para el cuadro de diálogo
- 5. ¿Cómo forzar a Chrome a mostrar un cuadro de diálogo Guardar como cuando hago clic en un enlace de descarga?
- 6. ¿Cómo mostrar el texto formateado en HTML en el cuadro emergente usando el generador de diálogo de alerta?
- 7. cómo usar el diálogo Guardar como de Python
- 8. Guardar el cuadro de diálogo de archivo en MVC
- 9. Android IME: ¿cómo mostrar un cuadro de diálogo emergente?
- 10. ¿Cómo puedo mostrar el cuadro de diálogo "Abrir con"?
- 11. ¿Cómo se muestra un cuadro de diálogo Guardar como en WPF?
- 12. Mostrar el cuadro de diálogo "abrir con" en Android
- 13. Abrir el cuadro de diálogo de descarga con PHP
- 14. ¿Cómo mostrar repetidamente un cuadro de diálogo con PyGTK/Gtkbuilder?
- 15. cómo establecer el foco en el cuadro de texto en un formulario de diálogo usando C#
- 16. El cuadro de diálogo no modal de WPF representa el cuadro de texto no editable
- 17. ¿Cómo agregar un cuadro de diálogo de selección de archivos usando QT Createor?
- 18. Cómo forzar guardar como cuadro de diálogo en Firefox además de cambiar los encabezados?
- 19. cómo mostrar un cuadro de diálogo en jQuery Mobile
- 20. Interoperabilidad de Excel: guardar el libro de trabajo sin mostrar el diálogo de guardar
- 21. Obtener el nombre de archivo del usuario de JFileChooser Guardar el cuadro de diálogo
- 22. EditorPara (fecha): ¿Cómo mostrar el cuadro de texto vacío?
- 23. Botón para mostrar elegir un archivo para cargar el cuadro de diálogo
- 24. guardar los valores de cuadro de texto en el Registro
- 25. Crear texto dinámicamente en el cuadro de diálogo
- 26. Personalizar el cuadro de diálogo onbeforeunload
- 27. jQueryUI cuadro de diálogo - no aparece el texto del botón
- 28. Recuperar cuadro de diálogo de alerta FastScroll
- 29. cómo guardar el lienzo como imagen png?
- 30. cómo utilizar JComboBox usando Enumeración de cuadro de diálogo
simplemente lanzándolo aquí porque lo necesitaba además de la respuesta de emil .... para saltos de línea: echo "\ r \ n"; – CheeseConQueso