tomomik’s blog

とりあえずのメモ 違ってたらゴメンなさい

PHPExcelで画像をはりつけたExcelをつかうと502エラーになる(PHP 7.0.19)

PHPExcelを使う時にテンプレートを用意して、必要な内容をPHPで書き込むと思います。 テンプレートにロゴとか社印とか画像ファイルをつけたりすると思うのですが、 PHPのバージョンが違うと502のエラーになりました。 テンプレートにしたExcelファイルはXLSX形式です。

PHP 7.0.15 だと問題なかったのですが、PHP 7.0.19だと502エラー

処理が失敗している箇所はPHPExcelの Writer/Excel2007/ContentTypes.php のgetImageMimeType。

getImageMimeTypeでExcelファイルにある画像の拡張子を取得しているのですが、 XLSX形式のファイルをzipで解凍してExcelファイルに含まれている画像のパスからだと getimagesize関数では失敗するようです。 PHP 7.0.15で問題なくってPHP 7.0.19で失敗するのか分かりません(涙

とりあえず、テンプレートのファイルをxls形式にすると この問題は発生しませんでした。

私の環境だけかもしれないですが念のためーー