第一种方式:判断路径是否url格式,并从配置中补全
/**
* 判断路径是否是绝对路径,如果不是拼接至绝对路径
* @param string $url 路径地址
* @return string 返回格式
*/
function splicing_route($url) {
if ($url) {
$config = ["domain"=>"http://域名"];//获取配置,但是可以写死
$preg = "/^http(s)?:\\/\\/.+/";
//判断是否是数组
if (is_array($url)) {
//多维拼接
foreach ($url as $key => &$value) {
//正则判断
if(!preg_match($preg,$value)){
$value = $config['domain'].$value;
}
}
}else{
// 单项拼接 正则判断
if(!preg_match($preg,$url)){
$url = $config['domain'].$url;
}
}
return $url;
}
}
复制代码
第二种方式:获取配置的上传域名、自动获取域名并拼接、没有判断数组
function getImageAttr($image) {
//判断图片路径是否完整
if (stripos($image, 'http') === 0 || $image === '' || stripos($image, 'data:image') === 0) {
$image = $image;
} else {
//获取配置的上传域名
$upload = \think\Config::get('upload');
if (!empty($upload['cdnurl'])) {
$image = $upload['cdnurl'] . $image;
} else {
//自动获取域名并拼接
$http_type = ((isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] == 'on') || (isset($_SERVER['HTTP_X_FORWARDED_PROTO']) && $_SERVER['HTTP_X_FORWARDED_PROTO'] == 'https')) ? 'https://' : 'http://';
$image = $http_type . $_SERVER['HTTP_HOST'] . $image;
}
}
return $image;
}
复制代码
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END