php如何取尺寸大的图片作为文章缩略图
伊谢尔伦
伊谢尔伦 2017-04-11 09:50:33
[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){?>
    <p class="aw-article-text col-md-4">
<img class="img-polaroid kltu" src="<?php echo $attach; ?>" alt="<?php echo $val['title']; ?>" />
</p>
<?php }}} ?>
伊谢尔伦
伊谢尔伦

小伙看你根骨奇佳,潜力无限,来学PHP伐。

全部回复(4)
怪我咯

获取图片信息:
list($width, $height, $type, $attr) = getimagesize('http://thumb.dresslink.com/V3...');

var_dump($attr);

结果截图:

大家讲道理

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

$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和宽带的问题 扔给图片服务器处理

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号