PHP - Problemas al descargar csv con php

 
Vista:

Problemas al descargar csv con php

Publicado por Vero (1 intervención) el 02/02/2017 16:30:00
Hola a todos
Tengo problemas al descargar un csv con php, el problema es que al hacer la prueba en forma local me descarga el archivo sin problemas, pero, al subir los archivos al servidor, hago la descarga y en vez de exportar el archivo en csv me muestra el resultado por pantalla

este es el codigo que estoy usando
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
include "conexion.php";
 
 
$desde = $_POST["desde"];
$hasta = $_POST["hasta"];
$output = "";
 
$sql = mysql_query("SELECT * FROM bolsas where Fecha_de_creacion >= '$desde' AND Fecha_de_creacion <='$hasta' ");
$columns_total = mysql_num_fields($sql);
 
 
 
for ($i = 0; $i < $columns_total; $i++) {
$heading = mysql_field_name($sql, $i);
$output .= '"'.$heading.'",';
}
$output .="\n";
 
 
 
while ($row = mysql_fetch_array($sql)) {
for ($i = 0; $i < $columns_total; $i++) {
$output .='"'.$row["$i"].'",';
}
$output .="\n";
}
 
 
 
$filename = "output.csv";
 
header('Expires: 0');
header('Cache-control: private');
header('Content-Type: application/x-octet-stream');
header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
header('Content-Description: File Transfer');
header("Content-Transfer-Encoding: binary");
header("Content-Disposition: attachment; filename=$filename");
 
echo $output;
 
 
exit;
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Developer

Problemas al descargar csv con php

Publicado por Developer (52 intervenciones) el 08/02/2017 23:52:39
Hola amigo, intenta de esta forma:

1
2
3
4
5
6
$name  = "output.csv";
		$enlace = $directorio."/output.csv"; //El directorio donde está tu csv
		header("Content-Disposition: attachment; filename=$name");
		header("Content-Type: application/force-download");
		header("Content-Length: ".filesize($enlace));
		readfile($enlace);

Te soy sincero, ignoro porq en local te lo descarga, pero yo veo "logico" que te esté mandando a pantalla puesto q pones "echo $output"

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar