FPDF error: Some data has already been output, can't send PDF file
que solucione con el uso
ob_end_clean();
ya que uso varias includes todo esto corriendo bajo un servidor local Wampserver pff y funciona genera perfectamente el pdf a las mil maravillas
Código PHP:
<?php
include('../../../../../clases/Bd.php');
include('../../../../../clases/permisos.class.php');
include('../../../../../clases/usuarios.class.php');
include('../../../../../clases/nomina.class.php');
include('../../../../../clases/pago.class.php');
include('../../../../../clases/imss.class.php');
include('../../../../../clases/comision.class.php');
include('../../../../funciones.php');
ob_end_clean(); //limpia el buffer de salida para poder generar el pdf
include('../../../../../clases/fpdf.php');
class PDF extends FPDF
{
//Cargar los datos
function LoadData($file)
{
//Leer las líneas del fichero
// $lines=file($file);
$lines=$file;
$data=array();
foreach($lines as $line)
$data[]=explode(';',chop($line));
return $data;
}
function Tabla($header,$data)
{
//Anchuras de las columnas
$w=array(45,45,45,45);
//Datos
foreach($data as $filas)
{
$this->Cell($w[0]*4,7,$filas[0]." ".$filas[1],1,0,'C');
$this->Ln();
for($i=0;$i<count($header);$i++)
$this->Cell($w[$i]*2,6,$header[$i],1,0,'C');
$this->Ln();
$total_p=$filas[2]+$filas[4]+$filas[6]+$filas[8]+$filas[10]+$filas[12]+$filas[14]+$filas[16];
$total_d=$filas[3]+$filas[5]+$filas[7]+$filas[9]+$filas[11]+$filas[13]+$filas[15];
if($filas[2]==0) $filas[2]="----------";else $filas[2]='$'.$filas[2];
if($filas[3]==0) $filas[3]="----------";else $filas[3]='$'.$filas[3];
$this->Cell($w[0],5,'SUELDO','LR');
$this->Cell($w[0],5,$filas[2],'LR');
$this->Cell($w[0],5,'INFONAVIT','LR');
$this->Cell($w[0],5,$filas[3],'LR');
if($filas[4]==0) $filas[4]="----------";else $filas[4]='$'.$filas[4];
if($filas[5]==0) $filas[5]="----------";else $filas[5]='$'.$filas[5];
$this->Ln();
$this->Cell($w[0],5,'VIATICOS','LR');
$this->Cell($w[0],5,$filas[4],'LR');
$this->Cell($w[0],5,'FONACOT','LR');
$this->Cell($w[0],5,$filas[5],'LR');
if($filas[6]==0) $filas[6]="----------";else $filas[6]='$'.$filas[6];
if($filas[7]==0) $filas[7]="----------";else $filas[7]='$'.$filas[7];
$this->Ln();
$this->Cell($w[0],5,'COM GANADEROS','LR');
$this->Cell($w[0],5,$filas[6],'LR');
$this->Cell($w[0],5,'DIF POLIZA','LR');
$this->Cell($w[0],5,$filas[7],'LR');
if($filas[8]==0) $filas[8]="----------";else $filas[8]='$'.$filas[8];
if($filas[9]==0) $filas[9]="----------";else $filas[9]='$'.$filas[9];
$this->Ln();
$this->Cell($w[0],5,'VACACIONES','LR');
$this->Cell($w[0],5,$filas[8],'LR');
$this->Cell($w[0],5,'MERCANCIA','LR');
$this->Cell($w[0],5,$filas[9],'LR');
if($filas[10]==0) $filas[10]="----------";else $filas[10]='$'.$filas[10];
if($filas[11]==0) $filas[11]="----------";else $filas[11]='$'.$filas[11];
$this->Ln();
$this->Cell($w[0],5,'PRIMA','LR');
$this->Cell($w[0],5,$filas[10],'LR');
$this->Cell($w[0],5,'PRESTAMO','LR');
$this->Cell($w[0],5,$filas[11],'LR');
if($filas[12]==0) $filas[12]="----------";else $filas[12]='$'.$filas[12];
if($filas[13]==0) $filas[13]="----------";else $filas[13]='$'.$filas[13];
$this->Ln();
$this->Cell($w[0],5,'AGUINALDO','LR');
$this->Cell($w[0],5,$filas[12],'LR');
$this->Cell($w[0],5,'DEVOLUCION','LR');
$this->Cell($w[0],5,$filas[13],'LR');
if($filas[14]==0) $filas[14]="----------";else $filas[14]='$'.$filas[14];
if($filas[15]==0) $filas[15]="----------";else $filas[15]='$'.$filas[15];
$this->Ln();
$this->Cell($w[0],5,'FESTIVO','LR');
$this->Cell($w[0],5,$filas[14],'LR');
$this->Cell($w[0],5,'FALTAS','LR');
$this->Cell($w[0],5,$filas[15],'LR');
if($filas[16]==0) $filas[16]="----------";else $filas[16]='$'.$filas[16];
$this->Ln();
$this->Cell($w[0],5,'OTROS','LR');
$this->Cell($w[0],5,$filas[16],'LR');
$this->Cell($w[0],5,'','LR');
$this->Cell($w[0],5,$filas[17],'LR');
//subtotal de perceociones
$this->Ln();
$this->Cell($w[0],5,'TOTAL DE PERCEPCIONES','LR');
$this->Cell($w[0],5,'$'.$total_p,'LR');
$this->Cell($w[0],5,'TOTAL DE DEDUCCIONES','LR');
$this->Cell($w[0],5,'$'.$total_d,'LR');
$this->Ln();
$neto=$total_p-$total_d;
$this->Cell($w[0]*4,4," NETO A RECIBIR \$".$neto,1,0,'C');
$this->Ln();
$this->Cell(array_sum($w),0,'','T');
$this->Ln(6);
}
//Línea de cierre
}
}
///recibiendo los datos mas importantes
if(isset($_GET['id_nomina']))
$id_nomina=$_GET['id_nomina'];
else
$id_nomina=NULL;
$imss=new Imss($id_nomina,'','','','','','','','','','');
$com=new Comision($id_nomina,'','','','','','','','','','','');
$nom=new Nomina($id_nomina,"","");
$reg_nom=$nom->consulta();
$reg_imss=$imss->consulta_xnomina();
$reg_com=$com->consulta_xnomina();
$i=0;$j=0;
foreach($reg_imss as $regimss)
{
$vector_imss[$i]=$regimss[1].';'.$regimss[2].';'.$regimss[3].';'.$regimss[4].';'.$regimss[5].';'.$regimss[6].';'.$regimss[7].';'.$regimss[8].';'.$regimss[9].';'.$regimss[10];
$i++;
}
foreach($reg_com as $regcom)
{
$vector_com[$j]=$regcom[2].';'.$regcom[3].';'.$regcom[4].';'.$regcom[5].';'.$regcom[6].';'.$regcom[7].';'.$regcom[8].';'.$regcom[9].';'.$regcom[10].';'.$regcom[11];
$j++;
}
for($z=0;$z<$i;$z++){
list($id_usuario,$sueldo,$vacaciones,$prima,$ispt,$ims,$cred_sal,$infonavit,$fonacot,$sueldo_sa) = explode(";",$vector_imss[$z]);
list($comision,$prestamo,$dif_poliza,$devolucion,$falta,$mercancia,$festivo,$aguinaldo,$otros,$viaticos) = explode(";",$vector_com[$z]);
$user = new Usuarios($id_usuario,'','','','','','','','','','','','','');
$trabajador=$user->consulta_nombre();
$hoy = date("d-m-Y");
if($sueldo_sa!=0){
$sueldo=$sueldo_sa;
}else{
$sueldo=imss_ptotal($sueldo,$ispt,$ims,$cred_sal);
}
$total_imss=imss_total($sueldo,$vacaciones,$prima,$ispt,$ims,$cred_sal,$infonavit,$fonacot);
$total=NULL;
//$falta=100;
$datos[$z]=$trabajador.";".$hoy.";".$sueldo.";".$infonavit.";".$viaticos.";".$fonacot.";".$comision.";".$dif_poliza.";".$vacaciones.";".$mercancia.";".$prima.";".$prestamo.";".$aguinaldo.";".$devolucion.";".$festivo.";".$falta.";".$otros.";;".$total.";";
}
$pdf=new PDF();
//Títulos de las columnas
$cabecera=array('PERCEPCIONES','DEDUCCIONES');
//Carga de datos
$datos=$pdf->LoadData($datos);
$pdf->SetFont('Arial','',8);
$pdf->AddPage();
$pdf->Tabla($cabecera,$datos);
$pdf->Output();
?>
Warning: Cannot modify header information - headers already sent by (output started at /home/medicama/public_html/lacteos/clases/usuarios.class.php:125) in /home/medicama/public_html/lacteos/clases/fpdf.php on line 1017
FPDF error: Some data has already been output, can't send PDF file
QUE PODRA SER ? ? ??
![Neurótico](http://static.forosdelweb.com/fdwtheme/images/smilies/scared.png)