PHP将相对路径URL转换为绝对路径URL
PHP代码
/**
* 将一个URL转换为完整URL
* PHP将相对路径URL转换为绝对路径URL
*/
function format_url($srcurl, $baseurl) {
$srcinfo = parse_url($srcurl);
if(isset($srcinfo['scheme'])) {
return $srcurl;
}
$baseinfo = parse_url($baseurl);
$url = $baseinfo['scheme'].'://'.$baseinfo['host'];
if(substr($srcinfo['path'], 0, 1) == '/') {
$path = $srcinfo['path'];
}else{
$filename= basename($baseinfo['path']);
//兼容基础url是列表
if(strpos($filename,".")===false){
$path = dirname($baseinfo['path']).'/'.$filename.'/'.$srcinfo['path'];
}else{
$path = dirname($baseinfo['path']).'/'.$srcinfo['path'];
}
}
$rst = array();
$path_array = explode('/', $path);
if(!$path_array[0]) {
$rst[] = '';
}
foreach ($path_array AS $key => $dir) {
if ($dir == '..') {
if (end($rst) == '..') {
$rst[] = '..';
}elseif(!array_pop($rst)) {
$rst[] = '..';
}
}elseif($dir && $dir != '.') {
$rst[] = $dir;
}
}
if(!end($path_array)) {
$rst[] = '';
}
$url .= implode('/', $rst);
return str_replace('\', '/', $url);
}
PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号