• Lunes 23 de Diciembre de 2024, 09:50

Autor Tema:  Error Header("content-disposition: Attachment  (Leído 1912 veces)

javier3

  • Miembro activo
  • **
  • Mensajes: 55
    • Ver Perfil
Error Header("content-disposition: Attachment
« en: Miércoles 4 de Enero de 2006, 00:02 »
0
Tengo Problemas con el Uso del
header("Content-disposition: attachment; filename=\"2109".$mes.$ano_corto.".txt\""); parece que todo esta bien, pero no me graba nada solo en blanco, o si no me graba todo el codigo html de la pagina alguien me puede decir como hago esto????,
la verdad no se utilizar muy bien esto de guardar en un archivo de texto los valores de una consulta, pero lo necesito urgente si alguien me puede ayudar donde estami error le agradeceria infinitamente, es de vida o muerte para mi sistema,

Código: Text
  1.  
  2. //Aqui obtengo los datos que necesito guardar en mi archivo de texto
  3. $query_rs_scoplaen = "SELECT so.idccodso AS idccodso, so.scrccopl, so.scrcndni, (so.scrcapep || ' ' || so.scrcapem || ', ' || so.scrcnomb) as nombres, (so.scrcapep || ' ' || so.scrcapem || ' ' || so.scrcnomb) AS socio,
  4.                                             (SELECT scrnacti FROM scrtipso WHERE idectiso=so.scrctiso) AS scrnacti,
  5.                                             pl.sccoapor, pl.sccopram, pl.sccoprin, pl.sccocred, (pl.sccomocr+pl.sccoprmo) AS sccomora,
  6.                                             pl.sccofose, pl.sccoacti, pl.sccomult, pl.sccomant, to_char(pl.sccdfech,'MM') AS mes, to_char(pl.sccdfech,'YY') AS ano_corto, to_char(pl.sccdfech,'YYYY') AS ano_largo,
  7.                                             (pl.sccoapor + pl.sccopram + pl.sccoprin + pl.sccocred + pl.sccomocr + pl.sccoprmo + pl.sccofose +
  8.                                             pl.sccoacti + pl.sccomult + pl.sccomant) AS sccotota
  9.                                             FROM
  10.                                             scrsocio so INNER JOIN scoplaen_corregido pl ON pl.idccodso=so.idccodso
  11.                                             INNER JOIN saudepen de ON pl.idccodpro=de.sauccode
  12.                                             WHERE so.scrccoso NOT IN ('00034') AND de.idcuniej = '".$idcuniej."'
  13.                                             AND date_part('MONTH',pl.sccdfech) = ".$mes." AND date_part('YEAR',pl.sccdfech) = '".$anno."'
  14.                                             ORDER BY so.scrcapep, so.scrcapem, so.scrcnomb";
  15.   $rs_scoplaen = $cn->SelectLimit($query_rs_scoplaen);
  16.   while (!$rs_scoplaen->EOF){
  17.                               $monto_total[]=$rs_scoplaen->Fields("sccotota");
  18.                               $scrccopl[]=$rs_scoplaen->Fields("scrccopl");
  19.                               $scrcndni[]=$rs_scoplaen->Fields("scrcndni");
  20.                               $scrnacti[]=$rs_scoplaen->Fields("scrnacti");
  21.                               $socio[]=$rs_scoplaen->Fields("socio");
  22.                               $mes = $rs_scoplaen->Fields("mes");
  23.                               $ano_corto = $rs_scoplaen->Fields("ano_corto");
  24.                               $ano_largo = $rs_scoplaen->Fields("ano_largo");
  25.   $rs_scoplaen->MoveNext();
  26.   }
  27.   $rs_scoplaen->MoveFirst();//Ubicamos el Cursor en el Primer Registro
  28.  
  29.  
  30. //Este es el Bloque para cargar los datos al archivo de texto, y claro esto se ejecuta con un boton que llama mediante una funcion javascript al submit() de mi formulario.
  31.  
  32. if ($consultar == "grabar"){
  33. //Obtenemos el Codigo de Ministerio
  34. $sql_minis = "SELECT idcminis FROM sauuniej WHERE idcuniej = '".$idcuniej."'";
  35. $rs_minis = $cn->SelectLimit($sql_minis);
  36. $idcminis = $rs_minis->Fields("idcminis");
  37.   //Proceso de Generar el Archivo de Texto
  38.       $sql = "SELECT * FROM scoarche WHERE idcminis = '".$idcminis."' ORDER BY sconnoca ASC ";
  39.       $rs_scoarche = $cn->SelectLimit($sql) or die($cn->ErrorMsg());
  40.  
  41.         $scotipa = $rs_scoarche->Fields("scotipa");
  42.         if($scotipa == "TXT") {
  43.           header("Content-disposition: attachment; filename=\"2109".$mes.$ano_corto.".txt\"");
  44.         } else {
  45.           header("Content-disposition: attachment; filename=\"2109".$mes.$ano_corto.".dbf\"");
  46.  
  47.           $i = 0;
  48.           $rs_scoarche->MoveFirst();
  49.           while(!$rs_scoarche->EOF) {
  50.             $tabla_def[$i][0] =  $rs_scoarche->Fields("scocnom");
  51.             $tabla_def[$i][1] = "C";
  52.             $tabla_def[$i][2] = $rs_scoarche->Fields("scontama");
  53.          
  54.             $i++;
  55.             $rs_scoarche->MoveNext();
  56.           }
  57.        
  58.           $dbf_arch = get_nombre_arch_dbf();
  59.           $dbf_db_ok = false;
  60.           if(dbase_create("temp/".$dbf_arch, $tabla_def)) {
  61.             $dbf_db = dbase_open("temp/".$dbf_arch, 2);
  62.             if($dbf_db !== false) {
  63.               $dbf_db_ok = true;
  64.             }
  65.           }
  66.         }
  67.         header("Content-type: application/octetstream");
  68.         header("Pragma: no-cache");
  69.         header("Expires: 0");
  70.      
  71.       for($i = 0; $i <= ($item - 1); $i++) {
  72.  
  73.           if($monto_total[$i] > 0) {  
  74.             $j = 1;
  75.             $rs_scoarche->MoveFirst();
  76.             while(!$rs_scoarche->EOF) {
  77.               $scocvalo = $rs_scoarche->Fields("scocvalo");
  78.            
  79.               if(substr($scocvalo, 0, 1) != "'") {
  80.                 switch($scocvalo)  {
  81.                   case "NP":
  82.                     $valores[$j] = $scrccopl[$i];
  83.                   break;
  84.                   case "NCS":
  85.                     $valores[$j] = $socio[$i];                
  86.                   break;
  87.                   case "DNI":
  88.                     $valores[$j] = $scrcndni[$i];                
  89.                   break;
  90.                   case "TS":
  91.                     if($scrnacti[$i] == "A") {
  92.                       $valores[$j] = "1";                  
  93.                     } else {
  94.                       $valores[$j] = "5";                                    
  95.                     }
  96.                   break;
  97.                   case "MD":
  98.                     formatear_monto($monto_total[$i]);
  99.                     $valores[$j] = $monto_total[$i];                
  100.                   break;
  101.                   case "AL":
  102.                     $valores[$j] = $ano_largo;
  103.                   break;
  104.                   case "AC":
  105.                     $valores[$j] = $ano_corto;
  106.                   break;
  107.                   case "MC":
  108.                     $valores[$j] = $mes;
  109.                   break;
  110.                 }            
  111.               } else {
  112.                 $valores[$j] = $scocvalo;
  113.               }
  114.            
  115.               $j++;
  116.               $rs_scoarche->MoveNext();
  117.             }
  118.             if($scotipa == "TXT") {
  119.               $linea = get_linea_arch_txt_env($idcminis, $valores, &$rs_scoarche);
  120.               echo $linea;
  121.             } else {
  122.               $fila = get_fila_arch_dbf_env($idcminis, $valores, &$rs_scoarche);
  123.               if($dbf_db_ok) {
  124.                 dbase_add_record($dbf_db, $fila);
  125.               }  
  126.             }
  127.           }
  128.         }
  129.         if($dbf_db_ok) {
  130.           dbase_close($dbf_db);
  131.           $arch = fopen("temp/".$dbf_arch, "r");
  132.           $arch_cont = fread($arch, filesize("temp/".$dbf_arch));
  133.           fclose($arch);
  134.           echo $arch_cont;
  135.           //chmod("temp/".$dbf_arch, 0777);
  136.           //unlink("temp/".$dbf_arch);
  137.       }
  138.       die();
  139. }  
  140.  
  141.  
no se si no me carga nada por la ubicacion en la que se encuentra mi script en la pagina, e probado poniendolo dentro del <body> pero nada fuera del <body> tampoco ayudaaaaaaaaaaa
 :comp:  :comp:  :comp:  :comp:  :comp:  :comp:  :comp:  :comp:  :comp:
Javier Bermúdez Tito

gnfrs

  • Miembro MUY activo
  • ***
  • Mensajes: 195
    • Ver Perfil
    • http://www.laguns.com.ar/
Re: Error Header("content-disposition: Attachment
« Respuesta #1 en: Miércoles 4 de Enero de 2006, 14:31 »
0
Hola,

Si todo lo guardás en una tabla DBF intentá depurarlo paso a paso para ver dónde se corta y porqué.
Poné error_reporting(E_ALL); para ver todos los NOTICE, quizá haya un error que no podés ver y cause la prematura finalización de ejecución del script.

Saludos y espero que te sea de ayuda.
Gabriel S. Luraschi

·· Videos de Guns and Roses LAGUNS - Banda tributo a Guns N' Roses ··

.

javier3

  • Miembro activo
  • **
  • Mensajes: 55
    • Ver Perfil
Re: Error Header("content-disposition: Attachment
« Respuesta #2 en: Miércoles 4 de Enero de 2006, 23:34 »
0
Hola Gabriel  gracias por responder te cuento logre encontrar cual era mi error, si te fijas en el for () utilizo un $item que es un variable que contiene un numero n, en este caso nro de socios, que se cargaran en un txt o en un dbf, ahora bien, pues resulta que esta variable $item me olvide de poner en el while() que recorre mi consulta, es asi que $item como no tenia ningun valor entonces el for nunca recorria por ende tonces no me graba ni michi en mi archivoi de texto, pero ahora ya lo hace bien, bueno de todos modos gracias por responder, ahora ahi tengo un pequeño problema con la generacion del dbf, haber como le hago bueno te dejo gracias
Javier Bermúdez Tito

gnfrs

  • Miembro MUY activo
  • ***
  • Mensajes: 195
    • Ver Perfil
    • http://www.laguns.com.ar/
Re: Error Header("content-disposition: Attachment
« Respuesta #3 en: Jueves 5 de Enero de 2006, 14:13 »
0
Ahh, bien entonces.
Hay errores lógicos muy difíciles de encontrar y más aún si no tenés un depurador para comprobar la correcta ejecución de tus scripts.

Saludos.
Gabriel S. Luraschi

·· Videos de Guns and Roses LAGUNS - Banda tributo a Guns N' Roses ··

.