Я работаю с библиотекой FPDF для создания PDF-файлов.
В какой-то момент я включаю изображение в pdf (в заголовке) и делаю:
require_once APPPATH . '../vendor/setasign/fpdf/fpdf.php'; class cifpdf extends FPDF { public function __construct($params = array()) { $this->CI = &get_instance(); $orientation = array_key_exists('orientation', $params) ? $params['orientation'] : 'P'; $mesure = array_key_exists('mesure', $params) ? $params['mesure'] : 'mm'; $format = array_key_exists('format', $params) ? $params['format'] : 'A5'; parent::__construct($orientation, $mesure, $format); } public function Header() { $logo = base_url('assets/promoters-landingpage/img/logo-inverted.png'); // Logo $this->Image($logo, 10, 6, 30); $this->Rect(10, 17, 129, 0.1); // Saut de ligne $this->Ln(10); }
Моя проблема исходит от $this->Image($logo, 10, 6, 30);
линия
Глядя на функцию Image в библиотеке вендоров pdf, я попытался отладить и выяснил, что ошибка исходила из этой части:
function Image($file, $x=null, $y=null, $w=0, $h=0, $type='', $link='') { // Some Code if(!isset($this->images[$file])) { // Some Code $type = strtolower($type); if($type=='jpeg') $type = 'jpg'; $mtd = '_parse'.$type; if(!method_exists($this,$mtd)) $this->Error('Unsupported image type: '.$type); $info = $this->$mtd($file); // Some Code } // Some Code }
Таким образом, точная строка, которая вызывает ошибку $info = $this->$mtd($file);
равна $info = $this->$mtd($file);
(строка 885 в библиотеке).
Я не уверен, что такое $ mtd? Кажется, несколько строк указано в $mtd = '_parse'.$type;
но они не связывают это с $ this. Не уверен, что это.
Я использую Nginx. Этот же кусок кода отлично работал на Apache 2.
Спасибо за поддержку.