杰奇1.8以上版本,后台采集封面图bug修复

本文阅读 3 分钟
广告

之前在测试杰奇的后台采集的时候,发现了一个奇怪的问题,就是在后台采集的时候,虽然小说信息和章节都可以被成功采集,但是封面图片却变成404。起初我认为是文件夹权限的问题导致封面图片不能正确保存,但是其实并不是这样,似乎这就是个bug,但是在1.7是正常的,而1.8以上版本全都有这个问题(包括3.0和3.1),最后经过查阅,在一个网站找到的相关的教程,自己折腾后得出该篇文章。
相关文件是加密的,自己浏览博客其它文章,里面分享了解密工具。

2019/09/12补充:
杰奇1.8到杰奇3.1都存在这种问题,因为官方完全放弃了后台采集的继续开发和维护(可能是为了避风头)。另外本篇文章原内容是讲解单篇采集的,目前批量采集已经修复,请看文章最后的补充。

以杰奇2.3版本为例,打开单篇采集相关的/modules/article/admin/collect.php
首先看一段代码,大概在215-226行:

$_REQUEST["articleimage"] = trim($_REQUEST["articleimage"]);
$imgtary = array(1 => ".gif", 2 => ".jpg", 3 => ".jpeg", 4 => ".png", 5 => ".bmp");
if (!empty($_REQUEST["articleimage"])) {
$simage_postfix = strrchr(trim(strtolower($_REQUEST["articleimage"])), ".");
$tmpvar = intval(array_search($simage_postfix, $imgtary));
if (0 < $tmpvar) {
$imgflag = $imgflag | 1;
$imgflag = $imgflag | ($tmpvar * 4);
}
}

在这里,$simage_postfix定义了图片的后缀

但是继续看262-268行

$tmpstr = jieqi_urlcontents($_REQUEST["articleimage"], $colary);
if (!empty($tmpstr)) {
$imagefile = $package->getDir("imagedir") . "/" . $id . "s" . $imagetype;
@jieqi_writefile($imagefile, $tmpstr);
@chmod($imagefile, 511);
}

其中的imagetype根本就不存在定义,但是却处于获取后缀值的位置,这就是个很尴尬的问题,所以后台采集虽然采集到图片,但是图片却没有后缀,于是导致了图片不显示的情况。

那么解决办法就是:

将$imagetype改为$simage_postfix

2019/09/12补充(感谢群内大佬的分享):

对于批量采集,所在的文件是/modules/article/include/updateone.php,找到280行左右

$tmpstr = jieqi_urlcontents($articleimage, $colary);
if (!empty($tmpstr)) {
    $imagefile = $package->getDir('imagedir') . '/' . $id . 's' . $imagetype;
    @jieqi_writefile($imagefile, $tmpstr);
    @chmod($imagefile, 511);
}

还是一样,在这个文件中,$simage_postfix定义了图片的后缀,可是这里出现的是$imagetype,所以解决办法就是把$imagetype改为$simage_postfix。

规则之树版权所有,转载请注明来源,标明作者及原文链接

本文来自投稿,不代表本站立场,如若转载,请注明出处:https://www.ruletree.club/archives/523/
一种比较实用的,来路域名拦截方式
« 上一篇 02-14
苏打沫沫:收藏时光以及温柔
下一篇 » 02-19
广告

发表评论

V注册会员 L评论等级
R6 条回复
  1. 探险狼123Lv.1 说道:
    2018-06-17     Win 7 /    MicroSoft Edge

    分享的解密器貌似解密不了,亲直接分享一下这个PHP吧,2.3笔趣阁采集到的图片和下载到本地的图片不一致不知道是什么原因

    1. 不暇VLv.6 说道:
      2018-06-18     Win 10 /    Chrome

      @探险狼123

      可以解密。请多试试

      1. 探险狼123Lv.1 说道:
        2018-06-21     Win 7 /    MicroSoft Edge

        @不暇

        真是好奇怪之前一直都解不了密都是空文件,刚试了一个可以了。,不解是什么原因

        1. 不暇VLv.6 说道:
          2018-06-23     Win 7 /    Chrome

          @探险狼123

          解密出空文件就代表选择的设置有问题,当然也有可能是电脑卡了

      2. 探险狼123Lv.1 说道:
        2018-06-21     Win 7 /    MicroSoft Edge

        @不暇

        我直接打开选文件解密不出成功,为空文件。不是这样用的吗?

没有更多评论了

作者信息

热门文章

标签TAG

热评文章