本文整理汇总了PHP中url::scriptname方法的典型用法代码示例。如果您正苦于以下问题:PHP url::scriptname方法的具体用法?PHP url::scriptname怎么用?PHP url::scriptname使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类url
的用法示例。
在下文中一共展示了url::scriptname方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: base
/**
* 返回url中的基础部分,不含文件名称,如:http://www.zotop.com/system/admin/index.php 或者 /system/admin/index.php
*
* @param boolean|string $page 页面名称,默认 为 true 则为 'index.php'
* @param boolean $dir 是否只返回当前的目录名称
* @param $domain 是否含有域名
* @return string
*/
public static function base($page = true, $domain = false)
{
$base = url::scriptname();
if ($page !== true) {
$base = dirname($base) . $page;
}
if ($domain == true) {
$base = url::domain(true) . $base;
}
return $base;
}
示例2: build
/**
* 根据参数生成完整的URL,如:url::build('site://zotop/index/default/arg1/arg2',array('param1'=>'1'),'#top')
*
* @param string $uri 如:{application}://{module}/{controller}/{action}/{arg1}/arg2 组成
* @param array|string $params URL参数 ,一般为数组,也可以是字符串,如:param1/1/param2/2
* @param string $extra 额外数据:如锚点信息等
* @return string 如:/index.php/module/controller/action/arg1/arg2?param1=1¶m2=2#top
*/
public static function build($uri = '', $params = null, $extra = '')
{
$application = '';
if (strpos($uri, '://')) {
list($application, $uri) = explode('://', $uri);
}
//获取入口文件地址
if (empty($application)) {
$base = url::scriptname();
} else {
$base = zotop::application($application, 'url') . '/' . zotop::application($application, 'base');
$base = url::decode($base);
}
//uri处理
if ($u = explode('/', trim($uri, '/'))) {
//获取namespace 和 arguments
$namespace = array_slice($u, 0, 3);
$namespace = implode('/', $namespace);
$arguments = array_slice($u, 3);
//namespace切换
$namespace = zotop::filter('zotop.namespace', $namespace, &$arguments);
foreach ($arguments as $arg) {
$querystring .= '/' . $arg;
}
//querystring
$querystring = $namespace . $querystring;
$querystring = empty($querystring) ? '' : '/' . $uri;
$querystring .= empty($suffix) ? '' : $suffix;
}
//处理id/5/n/6 形式的参数
if (!is_array($params)) {
$args = explode('/', $params);
while ($key = array_shift($args)) {
$params[$key] = array_shift($args);
}
}
if (is_array($params) && !empty($params)) {
if (strpos($querystring, '?')) {
$querystring .= '&' . http_build_query($params);
} else {
$querystring .= '?' . http_build_query($params);
}
}
//组装url
$url = $base . $querystring . $extra;
$url = url::clean($url);
return $url;
}
示例3: build
/**
* 根据参数生成完整的URL,如:url::build('zotop/index/default',array('id'=>'1'))
*
* @param string $uri 一般由{app}://{module}/{controller}/{action}组成
* @param array|string $params 动作参数 ,一般为数组
* @param array|string $arguments URL参数 ,一般为数组
* @param string $fragment 锚点
* @return string
*/
public static function build($uri, $params = null, $arguments = '', $fragment = '')
{
$uri = trim($uri, '/');
$app = '';
if (strpos($url, '://') !== false) {
$u = explode('://', $uri);
$app = $u[0];
$uri = $u[1];
}
//获取入口文件地址
if (empty($app)) {
$base = url::scriptname();
} else {
$base = zotop::applicationes($app, 'url') . '/' . zotop::applicationes($app, 'base');
}
//获取module/controller/action
if ($u = explode('/', trim($uri, '/'))) {
$namespace = implode('/', array_slice($u, 0, 3));
}
//处理id/5/n/6 形式的参数
if (!is_array($params)) {
$args = array();
$array = explode('/', $params);
while ($key = array_shift($array)) {
$args[$key] = array_shift($array);
}
$params = $args;
}
//合并参数
$str = '';
foreach ($params as $key => $value) {
$str .= '/' . rawurlencode($value);
}
//组装url
$url = $base . '/' . $namespace . $str . $fragment;
$url = url::clean($url);
return $url;
}
示例4: dirname
/**
* 返回url中的页面名称, 如:/zotop/admin
*
* @return string
*/
public static function dirname()
{
$scriptname = url::scriptname();
$pathinfo = pathinfo($scriptname);
return $pathinfo['dirname'];
}
示例5: application
/**
* 获取当前应用的url
*
* @return string 如:<install>/system/admin
*/
public static function application($id = '')
{
if (empty($id)) {
return dirname(url::scriptname());
}
$url = zotop::application($id, 'url');
if ($url[0] !== '/' && strpos($url, '://') === false) {
$url = url::root() . '/' . $url;
}
return $url;
}