78 lines
2.1 KiB
PHP
Executable File
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);
|
|
}
|
|
}
|
|
|
|
} |