3

次のコードの最も特異な問題。PDF レポートをブラウザに返します。

function cart_aspdf() {
    trace('cart_aspdf_in');
    $file = 'order_WS000250.pdf';
    header('Content-type: application/pdf');
    header('Content-Disposition: inline; filename="' . $file . '"');
    $file =  APPPATH.'pdfcache/'.$file;
    header('Content-Transfer-Encoding: binary');
    header('Content-Length: ' . filesize($file));
    header('Accept-Ranges: bytes');
    trace('cart_aspdf_readfile');
    @readfile($file);
    trace('cart_aspdf_out');
}

Opera,firefox,ie,safari でのトレース出力は、予想どおりです。

  1. cart_aspdf_in
  2. cart_aspdf_readfile
  3. cart_aspdf_out

しかし、クロムのトレースは、関数が3回ではないにしても少なくとも2回呼び出されていることを示しているように見える次のことを示しています。なぜこれが必要なのですか?

  1. cart_aspdf_in
  2. cart_aspdf_readfile
  3. cart_aspdf_out
  4. cart_aspdf_in
  5. cart_aspdf_readfile
  6. cart_aspdf_in
  7. cart_aspdf_readfile
  8. cart_aspdf_out

コンテンツタイプの行を省略しても問題は発生しませんが、クロムは使用できない生のPDFデータを表示します

4

1 に答える 1