Foros del Web » Programando para Internet » PHP »

Duda con header

Estas en el tema de Duda con header en el foro de PHP en Foros del Web. Hola amigos. tengo una inquietud que no se como resolver. tengo el siguiente codigo, que de seguro es conocido por muchos. Código PHP: header ( ...
  #1 (permalink)  
Antiguo 05/04/2010, 10:36
Avatar de chichote
Colaborador
 
Fecha de Ingreso: diciembre-2004
Ubicación: Santiago - Chile
Mensajes: 1.868
Antigüedad: 19 años, 4 meses
Puntos: 145
Duda con header

Hola amigos.

tengo una inquietud que no se como resolver.

tengo el siguiente codigo, que de seguro es conocido por muchos.

Código PHP:
header('Content-type: application/vnd.ms-excel');
header("Content-Disposition: inline; filename=fichero.xls");
header("Pragma: no-cache");
header("Expires: 0"); 
con lo cual logro forzar la descarga de un contenido, en este caso en formato xls para que sea entendido por excel.

Mi problematica es que quiero basicamente hacer lo mismo pero sin forzar la descarga, sino que se almacene en un directorio del servidor.

Saludos y gracias de ante manos.
  #2 (permalink)  
Antiguo 05/04/2010, 10:47
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 11 meses
Puntos: 1517
Respuesta: Duda con header

Para ello usa la librería filesystem.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #3 (permalink)  
Antiguo 05/04/2010, 11:13
Avatar de chichote
Colaborador
 
Fecha de Ingreso: diciembre-2004
Ubicación: Santiago - Chile
Mensajes: 1.868
Antigüedad: 19 años, 4 meses
Puntos: 145
Respuesta: Duda con header

mmmm, tengo entendido que con filesystem puedes manipular archivos planos, pero en mi caso estoy generando al vuelo un excel desde una tabla html.

igualmente se puede?

voy a hechar un vistaso, pero creo q no se puede.

saludos
  #4 (permalink)  
Antiguo 05/04/2010, 11:17
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: Duda con header

Claro que se puede, ya te lo comento abimaelrc, con las funciones para filesystem puedes crear archivos, usando fopen() y escribir contenido en ellos usando fwrite() y luego cerrarlo usando fclose().

Del mismo método como fuerzas tu descarga en lugar de enviar las cabeceras al cliente, las omites y guardas el resultado en un string que puedes guardar en un archivo usando fwrite().

Saludos.
  #5 (permalink)  
Antiguo 05/04/2010, 11:18
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 11 meses
Puntos: 1517
Respuesta: Duda con header

Haz la prueba y veras. Lo que sí te oriento, que si lo deseas convertir a Excel y almacenar en la base de datos usa mejor PHPExcel para que lo cree como binario. Sino vas a tener que indicar las cabeceras en el archivo que crees como que lo lea en formato excel, si usas phpMyAdmin, crea un archivo como Excel y mira como ellos lo crearon. Pero mira el archivo usando por ejemplo notepad (yo uso notepad++) o algo por el estilo
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #6 (permalink)  
Antiguo 05/04/2010, 11:52
Avatar de chichote
Colaborador
 
Fecha de Ingreso: diciembre-2004
Ubicación: Santiago - Chile
Mensajes: 1.868
Antigüedad: 19 años, 4 meses
Puntos: 145
Respuesta: Duda con header

Oka muchachos

gracias, a probar :D
  #7 (permalink)  
Antiguo 05/04/2010, 14:13
Avatar de chichote
Colaborador
 
Fecha de Ingreso: diciembre-2004
Ubicación: Santiago - Chile
Mensajes: 1.868
Antigüedad: 19 años, 4 meses
Puntos: 145
Respuesta: Duda con header

La verdad me estaba liando solo jejeje, ya lo solucione, no con archivos, lo hice con sessions, me salio mucho mas rapido y simple.

Saludos
__________________
http://chicho.ninja yiaaaa
  #8 (permalink)  
Antiguo 05/04/2010, 14:14
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 11 meses
Puntos: 1517
Respuesta: Duda con header

¿cómo puedes con sesiones crear un archivo en el servidor?
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #9 (permalink)  
Antiguo 05/04/2010, 14:29
Avatar de chichote
Colaborador
 
Fecha de Ingreso: diciembre-2004
Ubicación: Santiago - Chile
Mensajes: 1.868
Antigüedad: 19 años, 4 meses
Puntos: 145
Respuesta: Duda con header

no no,

mira, te cuento para que te hagas una idea jeje.

lo que pasa es que estoy rescatando un excel con php y todo el excel lo vuelco en una tabla, donde puedo editar las celdas con un edit in line (plugin de jquery) entonces cuando modificaba un contenido queria hacer que se vaya guardando en el excel mismo, primero se me habia ocurrido solo modificar la celda en cuestion, pero no encontre info en la web que me permita hacer eso directo sobre el excel con php, entonces se me ocurrio leer todo el excel y luego cuando hacia un cambio sobre escribia el excel completo, para eso preguntaba sobre como podia guardar un excel en un directorio, pero me estaba liando mucho.

Finalmente utilice una session bidimencional donde almaceno el excel que leo y cuando modifico una celda voy directamente a modificar ese dato dentro de la session bidimencional, y una vez que esta listo y el usuario verifico todos los datos y mi script valido todos los datos le doy la opcion de almacenar la info en mysql y tambien la posibilidad de descargar los datos modificados en un excel.

en resumen todo esto era para almacenar los datos en un ambiente temporal antes de guardarlos en la base de datos.

Eso era.

Saludos
__________________
http://chicho.ninja yiaaaa

Etiquetas: almacenar, descargas
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 19:34.