Ошибка FPDF: отсутствует или неверный файл изображения - PullRequest
2 голосов
/ 05 июля 2010

Я использую библиотеку FPDF для генерации PDF-файлов с помощью PHP.Эта библиотека работает нормально с обычным текстом (т. Е. Файлы PDF генерируются для любого текста), но при попытке добавить изображение на мою страницу PDF я выдаю ошибку FPDF error: Missing or incorrect image file:{MY_FILE_PATH}.Получив доступ к этому пути к файлу через браузер, затем соответствующее изображение выглядит нормально.

Мой код:

require('fpdf.php');

$pdf = new FPDF();
$pdf->AddPage();
$pdf->SetFont('Arial', 'B', 16);
$pdf->Write(10, 'Example image');
$image_path = MY_FILE_PATH; // This variable contains my actual file path 
$pdf->Image($image_path, 10, 10, 350, 450);
$pdf->Output();

Этот код отлично работает на моем локальном хосте и даже генерирует соответствующие файлы PDFс изображениями также, но это не работает после перехода на сервер.

Я пробовал использовать такие возможности, как:

  1. С абсолютными и относительными путями для изображения.

  2. Пробовал слокальное изображение помещено в ту же папку.

  3. Все форматы изображений, такие как jpg, png и gif.

  4. Проверены разрешения для изображения итакже соответствующие папки.

Ни один из этих случаев не работает для меня, застрял с этой проблемой, может кто-нибудь помочь мне решить эту проблему.

Спасибо!

Шива ...

Ответы [ 2 ]

4 голосов
/ 26 августа 2010

После долгой борьбы, наконец, я нашел причину этой проблемы, которую я уже обсуждал здесь .

Главным образом эта проблема вызвана тем, что параметр allow_url_fopen не включен для моего сервера, я решил эту проблему с помощью CURL. Я даю пошаговую процедуру для решения этой проблемы, потому что это может быть полезно для таких, как я, чтобы избежать потери времени (для поиска решения).

1. Create a temporary file in the local system with write permission.

Ex: $fp = @fopen($local_file_path, 'x'); 
    fclose($fp);

2. Get the remote location file contents using CURL and write that to local file 
which is created in the previous step.

Ex: $curl = new CurlWrapper($remote_file_path);
    $curl->copyToFile($local_file_path);

3. Now send this local file path to FPDF function(<b>image</b>) then the corresponding 
PDF will get generate for the file without any issues.

Я думаю, что это один из способов решения этой проблемы, если кто-то знает какие-то другие способы, вы можете опубликовать их здесь, чтобы этот вопрос был кому-то полезен.

1 голос
/ 17 октября 2012

просто добавьте:

allow_url_fopen = ON

на php.ini (создайте новый, если не существует) решает проблему.

http://www.solo -technology.com / блог / 2010/04/07 / быстро исправить-для-url-файл-доступа является отключенной-вопросы /

...