解决FPDF报错:FPDF error: Not a JPEG file / FPDF error: Not a PNG file

最近有个项目需要用到FPDF,但是输出的时候报错:

FPDF error: Not a JPEG file: http://***/data/attachment/forum/201603/19/105428nzhz6z9eh6qyyiw8.jpg

 找到报错的代码:

 

用到了getimagesize函数来做判断,那就简单试下:

<?php
/**
 * User: Administrator
 * Date: 2016/3/22 11:54
 */
header("Content-type: text/html; charset=utf-8");

$a = getimagesize('105428nzhz6z9eh6qyyiw8.jpg');
var_dump($a);

结果如下:

array (size=6)
  0 => int 282
  1 => int 500
  2 => int 3
  3 => string 'width="282" height="500"' (length=24)
  'bits' => int 8
  'mime' => string 'image/png' (length=9)

 

发现了比较奇怪的现象:后缀为jpg,但是mime的结果却是image/png!!!!

 

发现问题就比较好解决了,由于我的图片是其他地方用到的,那就是复制个105428nzhz6z9eh6qyyiw8.jpg到105428nzhz6z9eh6qyyiw8.png即可,试了下,完美解决!

附上代码:

$imgurl=$imgtemp['attachment'];
$imgtype = substr($imgurl,strrpos($imgurl,'.')+1);
$a = getimagesize('../data/attachment/forum/'.$imgurl);
$mime =str_replace('jpeg','jpg', str_replace('image/','',$a['mime']));
if($imgtype != $mime){
  $imgurl_new = '/data/attachment/forum/'.str_replace($imgtype,$mime,$imgurl);
  if(!is_dir($imgurl_new)){
    $jpg = '/data/attachment/forum/'.$imgurl;
    $topng = copy('..'.$jpg,'..'.$imgurl_new);
    $imgurl = str_replace('/data/attachment/forum/','',$imgurl_new);
  }
}
$mypath="http://$baseurl/data/attachment/forum/".$imgurl;

$pdf->Image(''.$mypath.'');

 

转载于:https://www.cnblogs.com/pthlp/p/5305790.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在您提供的代码中,出现了"AttributeError: 'FPDF' object has no attribute 'unifontsubset'"的错误。这个错误是由于在使用fpdf库中的unifontsubset属性发生了问题。根据引用、引用和引用中的信息,这个错误可能是由于fpdf库版本的问题导致的。 要解决这个问题,您可以尝试以下几个方法: 1. 检查您使用的fpdf库的版本。确保您使用的是最新版本的fpdf,并且不会出现这个错误。您可以通过在终端或命令提示符中运行以下命令来升级fpdf库: ``` pip install --upgrade fpdf ``` 2. 检查您的代码中是否有其他地方对unifontsubset属性进行了修改或调用。如果有,请检查这些修改是否正确,并且没有引起错误。 3. 检查您的字体文件是否正确添加到了fpdf库中。根据您提供的代码,您下载了fireflysung.ttf字体文件并添加了该字体。请确保字体文件的路径和名称正确,并且没有出现拼写错误。 如果您尝试了以上方法仍然无法解决问题,您可以考虑在fpdf库的官方论坛或社区中寻求帮助,或者查看其他用户是否在使用相同的字体遇到了相似的问题。 希望这些方法能够帮助您解决AttributeError: 'FPDF' object has no attribute 'unifontsubset'错误。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [AttributeError: ‘FPDF‘ object has no attribute ‘unifontsubset](https://blog.csdn.net/zhongkeyuanchongqing/article/details/120277099)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *3* [解决 python fpdf 字体问题 AttributeError: ‘FPDF‘ object has no attribute ‘unifontsubset](https://blog.csdn.net/davin12/article/details/117597075)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值