本文整理匯總了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;
}