PDF 形式で生成されている BIRT レポートがあります。その後、レポートは Web ブラウザーから開かれます。ただし、ファイルを Adobe Reader で開くと、次のエラー メッセージが表示されます。
サポートされているファイル タイプではないか、ファイルが破損しているため (たとえば、電子メールの添付ファイルとして送信され、正しくデコードされなかったなど)、Adobe Reader は 'test.pdf' を開くことができませんでした。
コマンド ラインからまったく同じコード (Schedule() および Search() から呼び出される) を実行すると (コードは PHP にあります)、同じレポートが表示されますが、Adobe Reader で開くことができます。ブラウザからファイルを読み取るために使用しているコードは次のとおりです。
<?php
require "Search.php";
require "Schedule.php";
Schedule( $_POST['period'], mktime(23, 59, 59, $_POST['month'] + 1,
$_POST['day'] + 1, $_POST['year']) );
Search( $param1, $param2, $param3, $param4 );
header('Content-type: application/pdf');
header('Content-Disposition: attachment; filename="test.pdf"');
readfile('/home/web/test.pdf');
?>
Schedule() と Search() は両方ともテストされており、問題は発生していません。私はまだPHPに慣れていないので、まだ知らないだけで見逃しているものはありますか? この問題に関するヘルプは大歓迎です。
-さびた
更新: 結局のところ、呼び出されていたファイルを更新する cron ジョブを見つけました。これにより、ファイルが更新されて役に立たなくなり、その後修正されました。