Tengo un script que accede a una base de datos, hace algunos calculos de saldos de cuentas, y por cada cuenta guardo el numero de cuenta y su saldo en un archivo txt.
El archivo se genera correctamente y se crea en el server.
El problema es que cuando me abre el cuadro de dialogo para "guardar" el txt me intenta guardar el archivo php (script).
Este es mi codigo:
listado_por_cuentas.php
Código PHP:
require "include/seguridad.php";
$db="fbeta";
set_time_limit(999);
$conexion = Conectar_Mysql($db);
$sql_cuentas = "select id_cuenta, id_cliente, id_cia from cuenta where id_cliente <> '0' order by id_cuenta ";
$arr_cuentas = Ejecuta_Query($sql_cuentas, $c_cuentas, $f_cuentas);
$su_saldo = 0;
$hoy = date("Y-m-d");
$actual = date("Y-m-d-H-i-s");
$archivo = "cta_cte/cta_cte_".$actual.".txt";
$fp = fopen($archivo, "w+");
$cont = 0;
for ($i=0;$i<$f_cuentas;$i++) {
$su_saldo = 0;
$sql_saldos = "select id_cliente, cuenta, id_cia, tipo_cargo, folio, valor_cargo from saldos where id_cliente = '".$arr_cuentas[$i][1]."' and cuenta='".$arr_cuentas[$i][0]."' and id_cia = '".$arr_cuentas[$i][2]."'";
$arr_saldos = Ejecuta_Query($sql_saldos, $c_saldos, $f_saldos);
//$sql_cargos = "select id_cuenta, valor, operativa from saldos_cargos where id_cuenta = '".$arr_cuentas[$i][0]."' and id_cliente = '".$arr_cuentas[$i][1]."' and fecha_emision <= '$hoy'";
//$sql_abonos = "select id_cuenta, valor, operativa from saldos_abonos where id_cuenta = '".$arr_cuentas[$i][0]."' and id_cliente = '".$arr_cuentas[$i][1]."' and fecha_emision <= '$hoy'";
//$arr_cargos = Ejecuta_Query($sql_cargos, $c_cargos, $f_cargos);
//$arr_abonos = Ejecuta_Query($sql_abonos, $c_abonos, $f_abonos);
for ($k=0; $k<$f_saldos; $k++){
if ($arr_saldos[$k][3] == "CARGO"){
$sql_cargos = "SELECT sum( b.valor )
FROM cobro a, detalle_cobro b, conceptos c
WHERE a.id_cobro = b.id_cobro
AND a.id_cliente = '".$arr_saldos[$k][0]."'
AND a.cuenta = '".$arr_saldos[$k][1]."'
AND b.folio = '".$arr_saldos[$k][4]."' AND b.tipo = c.nombre AND c.operativa = 'AUMENTA' ";
$arr_valor = Ejecuta_Query($sql_cargos, $c_cargos, $f_cargos);
$cargos= $arr_valor[0][0];
$su_saldo = $su_saldo + $cargos;
}
if ($arr_saldos[$k][3] == "ABONO"){
$su_saldo = $su_saldo - $arr_saldos[$k][5];
}
}
if (strlen($su_saldo) < 9){
$su_saldo = str_pad($su_saldo, 9, " ", STR_PAD_LEFT);
}
$file=$arr_cuentas[$i][0]." ".$su_saldo." ".$arr_cuentas[$i][2]."\r\n";
fwrite($fp, $file);
//$su_saldo = 0;
//$table.="<tr><td>".$arr_cuentas[$i][0]."</td><td>".number_format($su_saldo, 0, ',', '.')."</td></tr>";
}
/*header("Pragma: public");
header("Expires: 0");
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
header("Cache-Control: public");
header("Content-Description: File Transfer");
header("Content-Type: text/plain");
header("Content-Type: application/force-download");
header("Content-Disposition: attachment;filename=$archivo");
header("Content-Transfer-Encoding: Binary");
header("Content-length: ".filesize($archivo));*/
$header="Content-Disposition: attachment; filename=".basename($archivo).";";
header($header );
header("Content-Type: application/download");
header("Content-Transfer-Encoding: binary");
readfile($archivo);
/*header("Pragma: public");
header("Expires: 0");
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
header("Cache-Control: public");
header("Content-Description: File Transfer");
header("Content-Type: Text/txt");
$header="Content-Disposition: attachment; filename=$archivo;";
header($header);
header("Content-Transfer-Encoding: binary");
readfile($archivo);*/
Desconectar_Mysql($conexion);
Espero me puedan ayudar.
Gracias.
Salu2 !!!