预览模式: 普通 | 列表

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{  
    $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); 

$srcurl = '../../guestbook.php'; 
$baseurl = 'https://blog.guanjianci.net/abc/def/ghi/index.html';

Tags: php

分类:技术文章 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 8572

 广告位

↑返回顶部↑