类别:FRONTEND / 前端 / 日期:2020-05-07 / 浏览:4998 / 评论:6
这个缩略图插件的虽然开启了伪静态重写,但是实际上他访问的仍然是php?src的地址,因此这里我们直接取$src是没问题的,他是不会经过插件处理的。 还有,这里的定义图片绝对地址是真正意义上的绝对地址,如果你是内网的话,可以考虑一下http的方式,如下
#举例1 if(@fopen( $src, 'r' )) { echo '存在的时候'; $test = $src; } else { echo '不存在的时候'; } #举例2 $curl = curl_init($src); curl_setopt($curl, CURLOPT_NOBODY, true); $result = curl_exec($curl); //$ret = false; $test = $result4; if ($result !== false) { $statusCode = curl_getinfo($curl, CURLINFO_HTTP_CODE); if ($statusCode == 200) { //$ret = true; $test = $src; } } curl_close($curl);
外网的情况不建议使用此方式,内网可以优先考虑,因为这种方式不需要定义绝对路径。修改完成之后,你就会发现已经可以正常缓存了,这里要注意,插件建议把内置url规则的cuttype参数删掉,修改方式如下
//$this->cachefile=$blogpath.'imgs/'.$this->encodesrc.'-'.$this->width.'-'.$this->height.'-'.$this->cuttype.'-a.jpg'; this->cachefile=$blogpath.'imgs/'.$this->encodesrc.'-'.$this->width.'-'.$this->height.'-a.jpg';
根据上面的方式类推即可删除插件cuttype参数,至于删除理由就是,正常情况下我们只需要固定一种类型就可以了。最后就是设置,这种方式不需要站点伪静态的支持,因此不用开启伪静态。
现在即便是强制刷新静态图片,也不会上200MS,比原先动不动就500MS的情况好太多了。
共有 6 条评论
看看怎么办到的
学习一下
优秀来学习
发表评论 / 取消回复