FPDF错误:丢失或不正确的图像文件
问题描述:
我正在使用FPDF库通过PHP生成PDF文件。这个库使用纯文本(即为任何文本生成PDF文件)正常工作,但是在尝试将图像添加到我的PDF页面时,这给我一个错误FPDF error: Missing or incorrect image file:{MY_FILE_PATH}
。通过浏览器访问该文件路径,然后相应的图像显示正常。FPDF错误:丢失或不正确的图像文件
我的代码是:
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文件,但这不是移动到服务器后工作。
我试图与这些可能性,如:
随着用于图像的绝对和相对路径。
尝试与放置在同一文件夹中的本地图像。
所有图像格式,如jpg,png和gif也。
还检查了图像和相应文件夹的权限。
这些情况都没有为我工作,坚持这个问题,谁能帮我解决这个问题。
谢谢!
湿婆...
答
长期斗争后,终于让我找到了这个问题,我已经讨论here的原因。
主要是这个问题是由于'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(image) then the corresponding PDF will get generate for the file without any issues.
我认为这是解决这个问题的一种方法,如果有人知道一些其他的方式,那么你可以在这里发布他们,所以,这个问题可能是为别人有用。
答
只需添加:
了allow_url_fopen = ON
在php.ini文件(新建如果不存在的话)解决了这个问题。
http://www.solo-technology.com/blog/2010/04/07/quick-fix-for-url-file-access-is-disabled-issues/
您可以显示您正在使用的示例路径吗? – 2010-07-05 07:25:21
作为示例,您可以采用http://www.desicomments.com/user/2008/03/7139/good.jpg的路径。我们可以在FPDF中使用'/test.jpg'这样的相对路径吗? – Siva 2010-07-05 07:46:18
Pekka,感谢您的回复,得到了这个问题的原因并解决了这个问题。 – Siva 2010-07-07 17:34:35