2016-10-31 13 views
0

ブラウザにPDFを表示するPHPページを使用しています。 PDFの内容はセッション変数にあります。アプリエンジンはPHPページからHTMLヘッダーを削除しますか?

私のサーバーでこのページを使用すると、それは完全に動作し、見られる必要があるので、私はPDFを見ることができます。

私は私が間違っているの私は何を得るのApp Engine上でこの同じページの "%PDF-1.7%..."

を使用する場合は?ここで

は私が

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> 
</head> 

<body> 
<?php 
// Inserción de parametros y de funciones 
require_once("RKR_P_Parametros.php"); 
require_once("tUnua_Funciones.php"); 

session_start(); 

$ArchivoPDF = LeerVariableSesion("ArchivoPDF"); 
$NombreArchivoPDF = LeerVariableSesion("NombreArchivoPDF"); 

header('Content-Type: application/pdf'); 
header('Content-Disposition: inline; filename="'.$NombreArchivoPDF.'"'); 
header('Cache-Control: private, max-age=0, must-revalidate'); 
header('Pragma: public'); 

echo $ArchivoPDF; 
?> 
</body> 

を使用したページのコードであるあなたの助けをいただき、ありがとうございます。

Jean-DanielMâlet。私が最初に私のApp Engineへのphp.iniファイルを追加

+0

既にデータを出力した後でHTTPヘッダーを送信することはできません。あなたの出力はバッファされているので、おそらくあなたのサーバー上でそれを離れています。 – Phylogenesis

+0

こんにちはPhylogenesis、私はあなたが書いたことを理解しますが、私はヘッダーを送信した後にデータを出力すると思います。私は最後の命令 "echo $ ArchivoPDF"でデータを出力します。私はそれが間違っていますか? –

+0

'<?php'タグの前に出力するすべてのHTMLはどうですか?これは、PHPコードが実行される前に送信されます。さらに、これらのタグはすべてPDFファイルで無効です。私は実際に結果のPDFファイルがあなたの読者によって見えることにも驚いています。 – Phylogenesis

答えて

0

I'vは、出力バッファリングを中心に調査して、私は最高のことができませんでした解決策を見つけた...

-

プロジェクト:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> 

<head> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> 
</head> 

<body> 
<?php 
// Inserción de parametros y de funciones 
require_once("RKR_P_Parametros.php"); 
require_once("tUnua_Funciones.php");  

session_start(); 
$NombreArchivoPDF = LeerVariableSesion("NombreArchivoPDF"); 

function RKR_VPDF_Callback($Buffer) 
{ 
    $ArchivoPDF = LeerVariableSesion("ArchivoPDF"); 
    $Buffer .= $ArchivoPDF; 
    return $Buffer; 
} 

ob_start(RKR_VPDF_Callback); 

header('Content-Type: application/pdf'); 
header('Content-Disposition: inline; filename="'.$NombreArchivoPDF.'"'); 
header('Cache-Control: private, max-age=0, must-revalidate'); 
header('Pragma: public'); 

ob_flush(); 

?> 
</body> 

そして、それが仕事:私はその後、私のPHPコードをこのように変更され

output_buffering = 12288 

ed。

関連する問題