FPDF 错误:图像文件丢失或不正确

Siv*_*iva 2 php fpdf

我正在使用 FPDF 库通过 PHP 生成 PDF 文件。这个库可以很好地处理纯文本(即为任何文本生成 PDF 文件),但这FPDF error: Missing or incorrect image file:{MY_FILE_PATH}在尝试将图像添加到我的 PDF 页面时给了我一个错误。通过浏览器访问该文件路径,然后相应的图像显示正常。

我的代码是:

要求('fpdf.php');

$pdf = 新的 FPDF();
$pdf->AddPage();
$pdf->SetFont('Arial', 'B', 16);
$pdf->Write(10, '示例图像');
$image_path = MY_FILE_PATH; // 这个变量包含我的实际文件路径
$pdf->Image($image_path, 10, 10, 350, 450);
$pdf->输出();

这段代码在我的本地主机上运行良好,即使有图像也生成相应的 PDF 文件,但是在移动到服务器后这不起作用。

我尝试过这些可能性,例如:

  1. 具有图像的绝对和相对路径。

  2. 尝试使用放置在同一文件夹中的本地图像。

  3. 所有图像格式,如 jpg、png 和 gif 也是。

  4. 还检查了图像和相应文件夹的权限。

这些案例都不适合我,被这个问题困住了,谁能帮我解决这个问题。

谢谢!

湿婆...

Siv*_*iva 5

经过长时间的斗争,我终于找到了这个问题的原因,我已经在这里讨论

这个问题主要是由于我的服务器没有启用“allow_url_fopen”设置,我已经通过使用 CURL 解决了这个问题。我正在给出解决这个问题的分步程序,因为这可能对像我这样的人避免浪费时间(寻找解决方案)有用。

1、在本地系统中创建一个具有写权限的临时文件。

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

2. 使用 CURL 获取远程位置文件内容并将其写入本地文件 
这是在上一步中创建的。

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

3. 现在将此本地文件路径发送到 FPDF 函数( image ) 然后相应的
将毫无问题地为文件生成 PDF。

我认为这是解决这个问题的一种方法,如果有人知道其他一些方法,那么您可以将它们张贴在这里,以便这个问题对某人有用。