Ver Mensaje Individual
  #4 (permalink)  
Antiguo 15/07/2004, 11:15
Avatar de Ricardo
Ricardo
 
Fecha de Ingreso: febrero-2003
Ubicación: Capital Federal, Argentina
Mensajes: 60
Antigüedad: 21 años, 2 meses
Puntos: 0
Es que no tiene secretos esto y es asi de sencillo como figura en el post que te pasaron, yo lo use asi y funciona barbaro.

El punto pasa por crear todo el codigo html en una variable y luego generar el archivo (tene en cuenta que la carpeta donde guardaras el archivo tiene que permitir escritura, lo recomendable es que tenga en unix/linux permisos 777)

Tambien podes obligar a descargar el archivo y al final eliminarlo del disco para que no ocupe lugar.

Aca te paso el ejemplo.

<?php

function Descargar($file){

header("Content-Description: File Transfer");
header("Content-Type: application/force-download");
header("Content-Disposition: attachment; filename=".basename($file));
@readfile($file);

}


$shtml="<table>";
$shtml=$shtml."<tr>";
$shtml=$shtml."<td>Id</td><td>Codigo</td><td>US$</td>";
$shtml=$shtml."</tr>";
$shtml=$shtml."<tr>";
$shtml=$shtml."<td>1</td><td>C4325</td><td>2000.00</td>";
$shtml=$shtml."</tr>";
$shtml=$shtml."<tr>";
$shtml=$shtml."<td>2</td><td>DX456</td><td>1000.00</td>";
$shtml=$shtml."</tr>";
$shtml=$shtml."<tr>";
$shtml=$shtml."<td>3</td><td>&nbsp;</td><td>-50.00</td>";
$shtml=$shtml."</tr>";
$shtml=$shtml."<tr>";
$shtml=$shtml."<td>4</td><td>A18-TG</td><td>20.64</td>";
$shtml=$shtml."</tr>";
$shtml=$shtml."</table>";
$scarpeta="./exportar"; //carpeta donde guardar el archivo.
$clave=date("dmYHis");
//debe tener permisos 775 por lo menos
$sfile=$scarpeta."/".$clave."xxxx.xls"; //ruta del archivo a generar
$fp=fopen($sfile,"w");
fwrite($fp,$shtml);
fclose($fp);
//echo "<a href='".$sfile."'>Haz click aqui</a><p></p>";
Descargar($sfile);
unlink($sfile)

?>


Para tu caso que queres usar Mysql tenes que armar la variable $shtml con el contenido de tu bd y listo.
__________________
.:: globaldot ::. | diseñoweb
www.globaldot.com.ar

Última edición por Ricardo; 15/07/2004 a las 11:16