Foros del Web » Programando para Internet » PHP »

Generar fichero para descarga

Estas en el tema de Generar fichero para descarga en el foro de PHP en Foros del Web. Hola a [email protected]: Necesito generar un fichero para descarga y quisiera vuestra opinión. ¿Es mejor hacerlo con Header para que el navegador lo suelte directamente ...
  #1 (permalink)  
Antiguo 12/08/2004, 04:24
Avatar de manuweb  
Fecha de Ingreso: julio-2002
Mensajes: 75
Antigüedad: 15 años, 5 meses
Puntos: 10
Generar fichero para descarga

Hola a [email protected]:

Necesito generar un fichero para descarga y quisiera vuestra opinión.

¿Es mejor hacerlo con Header para que el navegador lo suelte directamente o lo creo con fopen() y con un link que lo descarge el usuario?

Es un fichero ASCII y los cambio de linea deben ser CR+LF.

¿alguna sugerencia?

Muchas gracias a [email protected]
  #2 (permalink)  
Antiguo 12/08/2004, 08:10
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Si es para descargar .. compón las cabeceras HTTP adecuadas para enviarle y comunicarle al cliente (tu navegador) que los datos que les vas a enviar son para descargar.

Para que liar al usuairo con "pincha aquí para generar archivo" y .. luego .. "pincha aquí para descargarlo"... Si puedes hacer el proceso de una (como de hecho puedes hacerlo) .. hazlo.

Por lo demás .. no sé si estarás al tanto .. pero un CR+FR lo puedes obtener con los caracteres de control: \n\r

Ejemplo:
Código PHP:
<?
$txt 
"1 bablaba\n\r";
$txt .= "2 bablaba\n\r";
header (".. ...."); // ejemplos en [url]www.php.net/header[/url]
echo $txt;
?>
Un saludo,
  #3 (permalink)  
Antiguo 13/08/2004, 03:23
Avatar de manuweb  
Fecha de Ingreso: julio-2002
Mensajes: 75
Antigüedad: 15 años, 5 meses
Puntos: 10
Gracias Cluster.

Tal que así funciona perfectamente:

Código PHP:
<?
$txt 
"1 bablaba\r\n";
$txt .= "2 bablaba\r\n";
Header('Content-Type: text; charset=utf-8'); // por lo de ASCII
Header('Content-disposition: attachment; filename=fichero.txt');
echo 
$txt;
?>
Observa que he cambiado \n\r por \r\n ya que debe de ser CR+LF (retorno y avance de linea), he probado ambos y \n\r se ve mal con el bloc de notas
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 04:35.