PDFLib: Не може да се отвори PDF файл

Следват редовете с PHP код, които използвам за отваряне на PDF файл:

$pdf_generartor = new PDFlib();

$doc = $pdf_generartor -> open_pdi_document("Report.pdf", "") or die ("ERROR: " . $pdf_generartor -> get_errmsg());

Въпреки че файлът е на необходимото място, всеки път получавам следната грешка:

ERROR: Couldn't open PDF file 'Report.pdf' for reading (file not found)

Някой запознат ли е с възможното решение?


person VarunGupta    schedule 11.12.2008    source източник


Отговори (3)


Знам, че е малко закъснял, но аз самият се сблъсках с този проблем и успях да го "поправя". Очевидно PDF lib не разбира много добре относителните пътища, така че ще трябва да използвате realpath().

Когато разгледате мострите, можете да направите това по два начина. Можете или да използвате realpath() с действителните файлови пътища, или да използвате realpath() с "търсена директория".

$p = new PDFlib();
$p->set_parameter("SearchPath", realpath("data/"));

or:

$indoc = $p->open_pdi_document(realpath($infile), "");
person pbean    schedule 08.09.2010

Мисля, че просто сте поставили файла на грешното място.

Не забравяйте, че ако е Linux, малките и главни букви са чувствителни.

И ако вашият код е във включени файлове и т.н., трябва да го имате предвид, когато разработвате пътя, ако го използвате относително.

Опитвам

echo realpath('Report.pdf');

Той ще изведе пътя, към който PHP превежда Report.pdf, и вероятно ще ви помогне да разберете защо се обърка.

person benlumley    schedule 11.12.2008
comment
Това не е така и аз използвам Windows. Файлът е почти в същата директория като файла с изходния код и има един файл с код, съдържащ целия код. - person VarunGupta; 11.12.2008
comment
Това е моята идея през прозореца тогава .....! Нямам опит с pdflib, винаги използвах FPDF. - person benlumley; 11.12.2008

Опитайте се да дадете файл от различен път, като дори споменете директорията:

 $doc = $pdf_generartor->open_pdi_document("D:\\Report.pdf", "") or die ("ERROR:")
person Anil    schedule 22.12.2008