Не могу сохранить PDF-файл или загрузить шаблон на сервер - FPDF/CodeIgniter

Я использую FPDF/FPDI для создания / редактирования / хранения документов PDF. Я пробовал на моем локальном сервере (Wamp), и все отлично работает; Я могу загрузить шаблон, использовать Output(), и PDF-файл сохраняется в нужной папке.

Но когда я загрузил код на сервер, я получил сообщение об ошибке FPDF:

FPDF error: Cannot open /home/users/x/y/x/public_html/zamzamtravel/index.php/resources/pdf_templates/a_template.pdf !

Я обнаружил, что ошибка генерируется из файла pdf_parser.php класса FPDI, а именно:

function pdf_parser($filename) {
            $this->filename = $filename;

            $this->f = @fopen($this->filename, 'rb');
           //error is this
            if (!$this->f)
                $this->error(sprintf('Cannot open %s !', $filename));

            $this->getPDFVersion();

            $this->c = new pdf_context($this->f);

            // Read xref-Data
            $this->xref = array();
            $this->pdf_read_xref($this->xref, $this->pdf_find_xref());

            // Check for Encryption
            $this->getEncryption();

            // Read root
            $this->pdf_read_root();
        }

То, как я написал мои пути для setSourceFile() и Output(), использует корневой документ сервера, который, как я недавно узнал, должен использоваться вместо путей HTTP. Я также установил права доступа к файлу / папке для моего шаблона и сгенерированных PDF-файлов на 775.

Как я пишу и сохраняю файл PDF:

$pdf = new FPDI('P','mm','A4');
        // add a page
        $pdf->AddPage();
        // set the sourcefile
        $pdf->setSourceFile($_SERVER['DOCUMENT_ROOT'] . '/myfolder/index.php/resources/pdf_templates/a_template.pdf');
        // import page 1
        $tplIdx = $pdf->importPage(1);

        $pdf->useTemplate($tplIdx, 1, 1, 210);
        // now write some text above the imported page
        $pdf->SetFont('Arial');
        $pdf->SetTextColor(0,0,0);

        // Write the posted variables somewhere in the document
        //write a bunch of stuff...

        // Output. Make the file name the ID of the person returned from database?
        $pdf->Output($_SERVER['DOCUMENT_ROOT'] . '/myfolder/index.php/resources/visa_application_forms/'. $data['full_name'] . "_" . $data['customer_id'] . '.pdf', 'F');

Если кто-то знает, что случилось, пожалуйста, помогите мне, занимался этим часами. Спасибо

0 ответов

Другие вопросы по тегам