php如何取尺寸大的图片作为文章缩略图

如何在现有基础上加上限制当图片高度和宽度同时大于200时才能作为文章缩略图
现有代码如下:


$body=$val['message'];
$img_array = array();
preg_match_all("/src=[\"|'|\s]{0,}(http:\/\/([^>]*))(\"|'|\s)/isU",$body,$img_array);
$img_array = array_unique($img_array[1]);
if(count($img_array)>0){
foreach($img_array AS $key => $attach) {
if($key==1){?>
    <div class="aw-article-text col-md-4">
<img class="img-polaroid kltu" src="<?php echo $attach; ?>" alt="<?php echo $val['title']; ?>" />
</div>
<?php }}} ?>
阅读 3k
4 个回答

只能将图片下载到本地,然后比较大小咯~

$imgs = array(); // 符合200x200以上的宽高图片
// 多一个遍历,判断宽高,并加进去$imgs
foreach($img_array AS $key => $attach) {
    $img_info = getimagesize($attach); // 获取图片信息
    if ($img_info[0] > 200 && $img_info[1] > 200) { // 符合要求
        // 加到图片数组里,用于下面遍历HTML标签
        $imgs[] = array(
            'attach' => $attach,
            'width'  => $img_info[0],
            'height' => $img_info[1]
        );
    }
}
// 然后下面再foreach一下$imgs数组来输出html就可以了

这里注意一下哦:
尽量将有判断逻辑的操作都放到一个地方处理,等数据都转好了以后,
才再去foreach遍历输出HTML。

这样代码更清晰,更好维护。
哈哈,所以不要为了省一个foreach,而让代码乱乱的。

希望我的建议对你有帮助。

我想你只是不知道php如何取图片的宽高,去百度吧骚年,保证有你想要的答案

建议放弃php处理
可以试一下图片服务器 七牛,阿里云等等
把图片处理这种耗cpu和宽带的问题 扔给图片服务器处理

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题