1

PHPクラスFPDFを使用しようとすると、このエラーが発生します。

FPDF error: Some data has already been output, can't send PDF file (output started at
/mnt/webc/e1/12/5691512/htdocs/adminpanel/fpdf/test.php:1)

私のtest.php

<?php
require_once("fpdf.php");
$pdf = new FPDF();
$pdf->AddPage();
$pdf->SetFont('Arial','B',16);
$pdf->Cell(40,10,'Hello World!');
$pdf->Output();
?>

空白などはありません...エラーはどこにありますか???

4

4 に答える 4

2

一部のエディターは、ファイルの先頭にBOMを追加します。

ファイルを16進数で表示して削除します

于 2012-07-10T22:11:28.453 に答える
-1

Live Serverのみで同じ問題が発生しました。しかし、ローカルマシンで動作しています。ファイルの先頭に BOM を追加しても、サーバーでは機能しません。しかし、ローカルマシンで作業しています。Live コードにいくつかの変更が必要です。

1. ob_start() をファイルの最初の行に配置します。

例:

ob_start();    
$DOCROOTPATH = $_SERVER['DOCUMENT_ROOT'];   
$DOCROOTBASEPATH = dirname($_SERVER['DOCUMENT_ROOT']);    
include_once($DOCROOTPATH."/lib/commonarray.inc");    
include_once($DOCROOTPATH."/includes/class.payslip.php");    
include_once($_SERVER['DOCUMENT_ROOT']."/menucontrol.php");    

define('FPDF_FONTPATH','fpdf/font/');    
require('fpdf/fpdf.php');    

2. $pdf->Output() の後に、ob_end_flush() を Same File に配置する必要があります。

例:

$pdf=new PDF();     
$pdf->Open();     
$pdf->AliasNbPages();     
$pdf->AddPage();     
$pdf->SetFont('Times','',12);     
$pdf->pdfAllPages();      
$pdf->Output();      
ob_end_flush();     

ブラウザにアクセスして、必要な pdf を表示します。

(または) 一部のエディターは、ファイルの先頭にBOMを追加します。

ファイルを16進数で表示して削除します

于 2015-12-28T08:33:37.190 に答える