dggzichahu/application/common/server/UrlServer.php

78 lines
2.1 KiB
PHP
Executable File

<?php
// +----------------------------------------------------------------------
// | 宏驰云科技开发团队 版权所有 拥有最终解释权
// +----------------------------------------------------------------------
// | Author: HcyShop-kiki
// +----------------------------------------------------------------------
namespace app\common\server;
class UrlServer
{
/**
* Desc: 获取文件全路径
* @param string $uri
* @param string $type
* @return string
*/
public static function getFileUrl($uri = '', $type = '')
{
if (empty($uri)) {
return '';
}
if (strstr($uri, 'http://') || strstr($uri, 'https://')) {
return $uri;
}
if ($uri && $uri !== '/' && substr($uri, 0, 1) !== '/') {
$uri = '/' . $uri;
}
// 获取存储引擎信息
$engine = ConfigServer::get('storage', 'default', 'local');
if ($engine === 'local') {
//图片分享处理
if ($type && $type == 'share') {
return ROOT_PATH . $uri;
}
if (isset($uri[0])) {
$uri[0] != '/' && $uri = '/' . $uri;
}
$protocol = is_https() ? 'https://' : 'http://';
$file_url = config('project.file_domain');
return $protocol . $file_url . $uri;
} else {
$config = ConfigServer::get('storage_engine', $engine);
$domain = isset($config['domain']) ? $config['domain'] : 'http://';
return $domain . $uri;
}
}
/**
* NOTE: 设置文件路径转相对路径
* @author: kiki
* @param string $uri
* @return mixed
*/
public static function setFileUrl($uri='')
{
$engine = ConfigServer::get('storage', 'default', 'local');
if ($engine === 'local') {
$domain = request()->domain();
return str_replace($domain.'/', '', $uri);
} else {
$config = ConfigServer::get('storage_engine', $engine);
return str_replace($config['domain'], '', $uri);
}
}
}