function formaturl($url, $str){
if (is_array($str)) {
$return = array();
foreach ($str as $href) {
$return[] = formaturl($url, $href);
}
return $return;
} else {
if (stripos($str, 'http://')===0 || stripos($str, 'ftp://')===0) {
return $str;
}
$str = str_replace('\\', '/', $str);
$parseUrl = parse_url(dirname($url).'/');
$scheme = isset($parseUrl['scheme']) ? $parseUrl['scheme'] : 'http';
$host = $parseUrl['host'];
$path = isset($parseUrl['path']) ? $parseUrl['path'] : '';
$port = isset($parseUrl['port']) ? $parseUrl['port'] : '';
if (strpos($str, '/')===0) {
return $scheme.'://'.$host.$str;
} else {
$part = explode('/', $path);
array_shift($part);
$count = substr_count($str, '../');
if ($count>0) {
for ($i=0; $i<=$count; $i++) {
array_pop($part);
}
}
$path = implode('/', $part);
$str = str_replace(array('../','./'), '', $str);
$path = $path=='' ? '/' : '/'.trim($path,'/').'/';
return $scheme.'://'.$host.$path.$str;
}
}
}
ThinkPHP 是一个免费开源的,快速、简单的面向对象的 轻量级PHP开发框架 ,创立于2006年初,遵循Apache2开源协议发布,是为了敏捷WEB应用开发和简化企业应用开发而诞生的。ThinkPHP从诞生以来一直秉承简洁实用的设计原则,在保持出色的性能和至简的代码的同时,也注重易用性。并且拥有众多的原创功能和特性,在社区团队的积极参与下,在易用性、扩展性和性能方面不断优化和改进,已经成长为国内最领先和最具影响力的WEB应用开发框架,众多的典型案例确保可以稳定用于商业以及门户级的开发。