如何通过if语句判断调用站内图片或者站外图片

<?php echo $this->topic_info['topic_pic']; ?>

这个代码是调用数据库里面的一个字段的图片地址如下图
图片描述

这个属于站内的图片,也就是存在服务器里面的图片路径

然后在这个字段里面也有站外地址的图片如下图
图片描述

※请问怎么通过php语句 写判断,如果存在本地图片就调用本地图片,如果没有本地图片就调用站外的图片!

两种不同路径的图片地址都存在同一个数据库字段里面

阅读 2.5k
2 个回答

参考如下,试试看

// 例如
if(strstr($this->topic_info['topic_pic'], 'http://') || strstr($this->topic_info['topic_pic'], 'https://')){
    echo '绝对路径:'.$this->topic_info['topic_pic'];
} else {
    echo '相对路径:'.$this->topic_info['topic_pic'];
}

// 在例如
if(preg_match("/^(http:\/\/|https:\/\/).*$/", $this->topic_info['topic_pic'])){
    echo '绝对路径:'.$this->topic_info['topic_pic'];
} else {
    echo '相对路径:'.$this->topic_info['topic_pic'];
}

用正则检验路径,本地的是相对路径,外部的是绝对路径

推荐问题