本文整理汇总了PHP中M::SITE_ROOT方法的典型用法代码示例。如果您正苦于以下问题:PHP M::SITE_ROOT方法的具体用法?PHP M::SITE_ROOT怎么用?PHP M::SITE_ROOT使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类M
的用法示例。
在下文中一共展示了M::SITE_ROOT方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: absolutize
/**
* Absolutize to current url – use in templates
*/
public static function absolutize($sUrl, $sPort = null)
{
/* return if already absolute URL */
if (parse_url($sUrl, PHP_URL_SCHEME) != '') {
return $sUrl;
}
/* queries and anchors */
if (!$sUrl || $sUrl[0] == '#' || $sUrl[0] == '?') {
return M::SITE_ROOT() . $sUrl;
}
/* parse base URL and convert to local variables:
$scheme, $host, $path */
extract(parse_url(M::SITE_ROOT()));
/* remove non-directory element from path */
// $path = preg_replace('#/[^/]*$#', '', $path);
if (!isset($scheme)) {
$scheme = '';
} else {
$scheme = $scheme . ':';
}
if (!isset($host)) {
$host = '';
}
if (!isset($path)) {
$path = '';
}
if ($sPort) {
$host = $host . ':' . $sPort;
}
/* destroy path if relative url points to root */
//if ($sUrl[0] == '/') { $path = ''; }
/* dirty absolute URL */
$sAbs = "{$host}{$path}/{$sUrl}";
/* replace '//' or '/./' or '/foo/../' with '/' */
$aRegex = array('#(/\\.?/)#', '#/(?!\\.\\.)[^/]+/\\.\\./#');
for ($n = 1; $n > 0; $sAbs = preg_replace($aRegex, '/', $sAbs, -1, $n)) {
}
/* absolute URL is ready! */
return $scheme . '//' . $sAbs;
}
示例2: redirectTo
public static function redirectTo($sUrl)
{
self::$_bReadyToSend = true;
if ($sUrl[0] == '/') {
$sUrl = M::SITE_ROOT() . $sUrl;
}
debug('Redirecting to ' . $sUrl);
// self::setHeader('HTTP/1.1 301 Moved Permanently');
self::setHeader("Location: {$sUrl}");
self::end();
}